Don't attempt MTM heuristics without a scheduling model present.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 2 Apr 2013 18:26:45 +0000 (18:26 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 2 Apr 2013 18:26:45 +0000 (18:26 +0000)
This should fix the PPC buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178558 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/EarlyIfConversion.cpp
test/CodeGen/X86/early-ifcvt-crash.ll

index 5447df09cbb27fff34c34f1bee0dd3f9d0789cb4..fc767362be75a334958e2bed51f0d57c2554d76d 100644 (file)
@@ -677,6 +677,10 @@ bool EarlyIfConverter::shouldConvertIf() {
   if (Stress)
     return true;
 
+  // Without a scheduling model, we can't make decisions.
+  if (!SchedModel->hasInstrSchedModel())
+    return false;
+
   if (!MinInstr)
     MinInstr = Traces->getEnsemble(MachineTraceMetrics::TS_MinInstrCount);
 
index c8280269689d7cf0afaacc6e82848d7f1446594b..d9580503e91e31d28f936ba896469622b30e319e 100644 (file)
@@ -1,5 +1,7 @@
 ; RUN: llc < %s -x86-early-ifcvt -verify-machineinstrs
 ; RUN: llc < %s -x86-early-ifcvt -stress-early-ifcvt -verify-machineinstrs
+; CPU without a scheduling model:
+; RUN: llc < %s -x86-early-ifcvt -mcpu=pentium3 -verify-machineinstrs
 ;
 ; Run these tests with and without -stress-early-ifcvt to exercise heuristics.
 ;