From 1747f7776403626b23ef0389264643fe4d6bec17 Mon Sep 17 00:00:00 2001 From: Arthur Eubanks Date: Tue, 15 Sep 2020 13:03:05 -0700 Subject: [PATCH] [SimplifyCFG] Override options in default constructor SimplifyCFG's options should always be overridden by command line flags, but they mistakenly weren't in the default constructor. Reviewed By: ychen Differential Revision: https://reviews.llvm.org/D87718 --- llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h | 2 +- llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp | 4 ++++ llvm/test/Transforms/SimplifyCFG/HoistCode.ll | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h b/llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h index 9785621..7c53938 100644 --- a/llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h +++ b/llvm/include/llvm/Transforms/Scalar/SimplifyCFG.h @@ -34,7 +34,7 @@ public: /// rather than optimal IR. That is, by default we bypass transformations that /// are likely to improve performance but make analysis for other passes more /// difficult. - SimplifyCFGPass() {} + SimplifyCFGPass(); /// Construct a pass with optional optimizations. SimplifyCFGPass(const SimplifyCFGOptions &PassOptions); diff --git a/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp b/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp index b0435bf..1798e01 100644 --- a/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp +++ b/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp @@ -232,6 +232,10 @@ static void applyCommandLineOverridesToOptions(SimplifyCFGOptions &Options) { Options.SinkCommonInsts = UserSinkCommonInsts; } +SimplifyCFGPass::SimplifyCFGPass() : Options() { + applyCommandLineOverridesToOptions(Options); +} + SimplifyCFGPass::SimplifyCFGPass(const SimplifyCFGOptions &Opts) : Options(Opts) { applyCommandLineOverridesToOptions(Options); diff --git a/llvm/test/Transforms/SimplifyCFG/HoistCode.ll b/llvm/test/Transforms/SimplifyCFG/HoistCode.ll index 051d66e..975107d 100644 --- a/llvm/test/Transforms/SimplifyCFG/HoistCode.ll +++ b/llvm/test/Transforms/SimplifyCFG/HoistCode.ll @@ -1,4 +1,5 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py +; RUN: opt < %s -passes=simplifycfg -hoist-common-insts=true -S | FileCheck %s ; RUN: opt < %s -simplifycfg -hoist-common-insts=true -S | FileCheck %s define void @foo(i1 %C, i32* %P) { -- 2.7.4