[X86] Disable FixupSetCC for CodeGenOpt::None
It is an optimization pass, and should not run at -O0. Especially since Fast RA
will not do the required register coalescing anyway, so it's a loss even from
the optimization standpoint.
This also works around (but doesn't quite fix) PR28489.
llvm-svn: 275099
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index f9d2d0a..445adbd 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -304,10 +304,10 @@
}
void X86PassConfig::addPreRegAlloc() {
- addPass(createX86FixupSetCC());
-
- if (getOptLevel() != CodeGenOpt::None)
- addPass(createX86OptimizeLEAs());
+ if (getOptLevel() != CodeGenOpt::None) {
+ addPass(createX86FixupSetCC());
+ addPass(createX86OptimizeLEAs());
+ }
addPass(createX86CallFrameOptimization());
addPass(createX86WinAllocaExpander());