diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-06 14:25:16 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-06 14:25:16 +0000 |
commit | 77c4ef8a47ef30d826bf56eb81d4059f4813ace1 (patch) | |
tree | 11a5805f8cb4c0c6dcf234a1bbcf92eeb48bf374 /lib/Transforms/Scalar/CodeGenPrepare.cpp | |
parent | 58c1da84f27d7821a75d41bed6e28c76fba8b64d (diff) | |
download | external_llvm-77c4ef8a47ef30d826bf56eb81d4059f4813ace1.zip external_llvm-77c4ef8a47ef30d826bf56eb81d4059f4813ace1.tar.gz external_llvm-77c4ef8a47ef30d826bf56eb81d4059f4813ace1.tar.bz2 |
Switch the select to branch transformation on by default.
The primitive conservative heuristic seems to give a slight overall
improvement while not regressing stuff. Make it available to wider
testing. If you notice any speed regressions (or significant code
size regressions) let me know!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156258 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Scalar/CodeGenPrepare.cpp')
-rw-r--r-- | lib/Transforms/Scalar/CodeGenPrepare.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Transforms/Scalar/CodeGenPrepare.cpp b/lib/Transforms/Scalar/CodeGenPrepare.cpp index 291274d..24d64b5 100644 --- a/lib/Transforms/Scalar/CodeGenPrepare.cpp +++ b/lib/Transforms/Scalar/CodeGenPrepare.cpp @@ -71,8 +71,9 @@ static cl::opt<bool> DisableDeleteDeadBlocks( "disable-cgp-delete-dead-blocks", cl::Hidden, cl::init(false), cl::desc("Disable deleting dead blocks in CodeGenPrepare")); -static cl::opt<bool> EnableSelectToBranch("enable-cgp-select2branch", cl::Hidden, - cl::desc("Enable select to branch conversion.")); +static cl::opt<bool> DisableSelectToBranch( + "disable-cgp-select2branch", cl::Hidden, cl::init(false), + cl::desc("Disable select to branch conversion.")); namespace { class CodeGenPrepare : public FunctionPass { @@ -1132,7 +1133,7 @@ static bool isFormingBranchFromSelectProfitable(SelectInst *SI) { bool CodeGenPrepare::OptimizeSelectInst(SelectInst *SI) { // If we have a SelectInst that will likely profit from branch prediction, // turn it into a branch. - if (!EnableSelectToBranch || OptSize || !TLI->isPredictableSelectExpensive()) + if (DisableSelectToBranch || OptSize || !TLI->isPredictableSelectExpensive()) return false; if (!SI->getCondition()->getType()->isIntegerTy(1) || |