From 10f40576f7b482dc55b9a0ba780c294c4e45817c Mon Sep 17 00:00:00 2001 From: Jan Svoboda Date: Tue, 8 Dec 2020 18:15:21 +0100 Subject: [PATCH] [clang][cli] Don't always emit -f[no-]legacy-pass-manager We don't need to always generate `-f[no-]experimental-new-pass-manager`. This patch does not change the behavior of any other command line flag. (For example `-triple` is still being always generated.) Reviewed By: dexonsmith, Bigcheese Differential Revision: https://reviews.llvm.org/D92857 --- clang/unittests/Frontend/CompilerInvocationTest.cpp | 4 ++-- llvm/include/llvm/Option/OptParser.td | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/clang/unittests/Frontend/CompilerInvocationTest.cpp b/clang/unittests/Frontend/CompilerInvocationTest.cpp index c2dc35c..d5b5d15 100644 --- a/clang/unittests/Frontend/CompilerInvocationTest.cpp +++ b/clang/unittests/Frontend/CompilerInvocationTest.cpp @@ -198,7 +198,7 @@ TEST_F(CommandLineTest, BoolOptionDefaultArbitraryTwoFlagsPresentNone) { Invocation.generateCC1CommandLine(GeneratedArgs, *this); - ASSERT_THAT(GeneratedArgs, Contains(StrEq(PassManagerResetByFlag))); + ASSERT_THAT(GeneratedArgs, Not(Contains(StrEq(PassManagerResetByFlag)))); ASSERT_THAT(GeneratedArgs, Not(Contains(StrEq(PassManagerChangedByFlag)))); } @@ -222,7 +222,7 @@ TEST_F(CommandLineTest, BoolOptionDefaultArbitraryTwoFlagsPresentReset) { ASSERT_EQ(Invocation.getCodeGenOpts().LegacyPassManager, PassManagerDefault); Invocation.generateCC1CommandLine(GeneratedArgs, *this); - ASSERT_THAT(GeneratedArgs, Contains(StrEq(PassManagerResetByFlag))); + ASSERT_THAT(GeneratedArgs, Not(Contains(StrEq(PassManagerResetByFlag)))); ASSERT_THAT(GeneratedArgs, Not(Contains(StrEq(PassManagerChangedByFlag)))); } diff --git a/llvm/include/llvm/Option/OptParser.td b/llvm/include/llvm/Option/OptParser.td index 9a935b5..f08dfd3 100644 --- a/llvm/include/llvm/Option/OptParser.td +++ b/llvm/include/llvm/Option/OptParser.td @@ -173,7 +173,6 @@ class MarshallingInfoBitfieldFlag class MarshallingInfoBooleanFlag : MarshallingInfoFlag { - bit ShouldAlwaysEmit = 1; code Normalizer = "makeBooleanFlagNormalizer(OPT_"#neg_name#")"; code Denormalizer = "makeBooleanFlagDenormalizer(\""#neg_spelling#"\")"; } -- 2.7.4