Skip to content

Commit 3abcc2c

Browse files
authored
[CIR] Added missing argument handling to clang toolchain (#1781)
We were missing argument handling for `-fclangir-idiom-recognizer` on its own, and were not propagating `-fclangir-lib-opt` for the clang toolchain.
1 parent bc0b4d0 commit 3abcc2c

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5099,12 +5099,18 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
50995099
if (Args.hasArg(options::OPT_fclangir_mem2reg))
51005100
CmdArgs.push_back("-fclangir-mem2reg");
51015101

5102+
bool enable_idiom_recognizer =
5103+
Args.hasArg(options::OPT_fclangir_idiom_recognizer,
5104+
options::OPT_fclangir_idiom_recognizer_EQ);
5105+
if (enable_idiom_recognizer)
5106+
CmdArgs.push_back("-fclangir-idiom-recognizer");
5107+
51025108
// ClangIR lib opt requires idiom recognizer.
51035109
if (Args.hasArg(options::OPT_fclangir_lib_opt,
51045110
options::OPT_fclangir_lib_opt_EQ)) {
5105-
if (!Args.hasArg(options::OPT_fclangir_idiom_recognizer,
5106-
options::OPT_fclangir_idiom_recognizer_EQ))
5111+
if (!enable_idiom_recognizer)
51075112
CmdArgs.push_back("-fclangir-idiom-recognizer");
5113+
CmdArgs.push_back("-fclangir-lib-opt");
51085114
}
51095115

51105116
if (Args.hasArg(options::OPT_fclangir_analysis_only)) {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// RUN: %clang %s -fclangir-idiom-recognizer -### -c %s 2>&1 | FileCheck --check-prefix=ENABLE %s
2+
// ENABLE: "-fclangir-idiom-recognizer"

clang/test/CIR/Driver/lib-opt.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// RUN: %clang %s -fclangir-lib-opt -### -c %s 2>&1 | FileCheck --check-prefix=ENABLE %s
2+
// ENABLE: "-fclangir-lib-opt"
3+
// ENABLE: "-fclangir-idiom-recognizer"

0 commit comments

Comments
 (0)