Skip to content

Commit ed03d9d

Browse files
committed
[NFC][clang][driver] Improve readability of long and complex if statement.
1 parent 26450db commit ed03d9d

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

clang/lib/Driver/Driver.cpp

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5191,20 +5191,32 @@ 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+
bool IsAMDGPU = Input->getOffloadingToolChain() &&
5199+
Input->getOffloadingToolChain()->getTriple().isAMDGPU();
5200+
bool IsRDC =
5201+
Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc, false);
5202+
bool HasNewOffloadDriver =
5203+
Args.hasFlag(options::OPT_offload_new_driver,
5204+
options::OPT_no_offload_new_driver, false);
5205+
bool IsHIP = TargetDeviceOffloadKind == Action::OFK_HIP;
5206+
bool IsSPIRV = Input->getOffloadingToolChain() &&
5207+
Input->getOffloadingToolChain()->getTriple().isSPIRV();
5208+
bool IsAMDGPUOrHIP = IsAMDGPU || IsHIP;
5209+
bool IsHIPToSPIRV = IsHIP && IsSPIRV;
5210+
bool IsOpenMP = TargetDeviceOffloadKind == Action::OFK_OpenMP;
5211+
5212+
bool IsLLVMBitcodeOutput =
5213+
IsEmitLLVM || IsSYCL ||
5214+
(IsAMDGPUOrHIP &&
5215+
((IsRDC ||
5216+
(HasNewOffloadDriver && (!offloadDeviceOnly() || IsHIPToSPIRV))) ||
5217+
IsOpenMP));
5218+
5219+
if (IsLLVMBitcodeOutput) {
52085220
types::ID Output =
52095221
Args.hasArg(options::OPT_S) &&
52105222
(TargetDeviceOffloadKind == Action::OFK_None ||

0 commit comments

Comments
 (0)