Skip to content

Commit 27d6418

Browse files
committed
[NFC][clang][driver] Improve readability of long and complex if statement.
1 parent 0621fd0 commit 27d6418

File tree

1 file changed

+27
-14
lines changed

1 file changed

+27
-14
lines changed

clang/lib/Driver/Driver.cpp

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5191,20 +5191,33 @@ Action *Driver::ConstructPhaseAction(
51915191
Args.hasArg(options::OPT_S) ? types::TY_LTO_IR : types::TY_LTO_BC;
51925192
return C.MakeAction<BackendJobAction>(Input, Output);
51935193
}
5194-
if (Args.hasArg(options::OPT_emit_llvm) ||
5195-
TargetDeviceOffloadKind == Action::OFK_SYCL ||
5196-
(((Input->getOffloadingToolChain() &&
5197-
Input->getOffloadingToolChain()->getTriple().isAMDGPU()) ||
5198-
TargetDeviceOffloadKind == Action::OFK_HIP) &&
5199-
((Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc,
5200-
false) ||
5201-
(Args.hasFlag(options::OPT_offload_new_driver,
5202-
options::OPT_no_offload_new_driver, false) &&
5203-
(!offloadDeviceOnly() ||
5204-
(Input->getOffloadingToolChain() &&
5205-
TargetDeviceOffloadKind == Action::OFK_HIP &&
5206-
Input->getOffloadingToolChain()->getTriple().isSPIRV())))) ||
5207-
TargetDeviceOffloadKind == Action::OFK_OpenMP))) {
5194+
5195+
bool IsEmitLLVM = Args.hasArg(options::OPT_emit_llvm);
5196+
bool IsSYCL = TargetDeviceOffloadKind == Action::OFK_SYCL;
5197+
5198+
auto OffloadingToolChain = Input->getOffloadingToolChain();
5199+
bool IsAMDGPU =
5200+
OffloadingToolChain && OffloadingToolChain->getTriple().isAMDGPU();
5201+
bool IsRDC =
5202+
Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc, false);
5203+
bool IsNewOffloadDriver =
5204+
Args.hasFlag(options::OPT_offload_new_driver,
5205+
options::OPT_no_offload_new_driver, false);
5206+
bool IsHIP = TargetDeviceOffloadKind == Action::OFK_HIP;
5207+
bool IsSPIRV =
5208+
OffloadingToolChain && OffloadingToolChain->getTriple().isSPIRV();
5209+
bool IsAMDGPUOrHIP = IsAMDGPU || IsHIP;
5210+
bool IsHIPToSPIRV = IsHIP && IsSPIRV;
5211+
bool IsOpenMP = TargetDeviceOffloadKind == Action::OFK_OpenMP;
5212+
5213+
bool IsLLVMBitcodeOutput =
5214+
IsEmitLLVM || IsSYCL ||
5215+
(IsAMDGPUOrHIP &&
5216+
((IsRDC ||
5217+
(IsNewOffloadDriver && (!offloadDeviceOnly() || IsHIPToSPIRV))) ||
5218+
IsOpenMP));
5219+
5220+
if (IsLLVMBitcodeOutput) {
52085221
types::ID Output =
52095222
Args.hasArg(options::OPT_S) &&
52105223
(TargetDeviceOffloadKind == Action::OFK_None ||

0 commit comments

Comments
 (0)