[clang] [NFC][clang][driver] Improve readability of long and complex if statement (PR #164994)
Manuel Carrasco via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 28 03:25:39 PDT 2025
https://github.com/mgcarrasco updated https://github.com/llvm/llvm-project/pull/164994
>From cfd6db25724fc5deb296cc1e84a494881c44e7ea Mon Sep 17 00:00:00 2001
From: Manuel Carrasco <Manuel.Carrasco at amd.com>
Date: Fri, 24 Oct 2025 10:06:54 -0500
Subject: [PATCH] [NFC][clang][driver] Improve readability of long and complex
if statement.
---
clang/lib/Driver/Driver.cpp | 41 ++++++++++++++++++++++++-------------
1 file changed, 27 insertions(+), 14 deletions(-)
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 40ea513e85427..a79c7b426a99d 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -5191,20 +5191,33 @@ Action *Driver::ConstructPhaseAction(
Args.hasArg(options::OPT_S) ? types::TY_LTO_IR : types::TY_LTO_BC;
return C.MakeAction<BackendJobAction>(Input, Output);
}
- if (Args.hasArg(options::OPT_emit_llvm) ||
- TargetDeviceOffloadKind == Action::OFK_SYCL ||
- (((Input->getOffloadingToolChain() &&
- Input->getOffloadingToolChain()->getTriple().isAMDGPU()) ||
- TargetDeviceOffloadKind == Action::OFK_HIP) &&
- ((Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc,
- false) ||
- (Args.hasFlag(options::OPT_offload_new_driver,
- options::OPT_no_offload_new_driver, false) &&
- (!offloadDeviceOnly() ||
- (Input->getOffloadingToolChain() &&
- TargetDeviceOffloadKind == Action::OFK_HIP &&
- Input->getOffloadingToolChain()->getTriple().isSPIRV())))) ||
- TargetDeviceOffloadKind == Action::OFK_OpenMP))) {
+
+ bool IsEmitLLVM = Args.hasArg(options::OPT_emit_llvm);
+ bool IsSYCL = TargetDeviceOffloadKind == Action::OFK_SYCL;
+
+ auto OffloadingToolChain = Input->getOffloadingToolChain();
+ bool IsAMDGPU =
+ OffloadingToolChain && OffloadingToolChain->getTriple().isAMDGPU();
+ bool IsRDC =
+ Args.hasFlag(options::OPT_fgpu_rdc, options::OPT_fno_gpu_rdc, false);
+ bool IsNewOffloadDriver =
+ Args.hasFlag(options::OPT_offload_new_driver,
+ options::OPT_no_offload_new_driver, false);
+ bool IsHIP = TargetDeviceOffloadKind == Action::OFK_HIP;
+ bool IsSPIRV =
+ OffloadingToolChain && OffloadingToolChain->getTriple().isSPIRV();
+ bool IsAMDGPUOrHIP = IsAMDGPU || IsHIP;
+ bool IsHIPToSPIRV = IsHIP && IsSPIRV;
+ bool IsOpenMP = TargetDeviceOffloadKind == Action::OFK_OpenMP;
+
+ bool IsLLVMBitcodeOutput =
+ IsEmitLLVM || IsSYCL ||
+ (IsAMDGPUOrHIP &&
+ ((IsRDC ||
+ (IsNewOffloadDriver && (!offloadDeviceOnly() || IsHIPToSPIRV))) ||
+ IsOpenMP));
+
+ if (IsLLVMBitcodeOutput) {
types::ID Output =
Args.hasArg(options::OPT_S) &&
(TargetDeviceOffloadKind == Action::OFK_None ||
More information about the cfe-commits
mailing list