Remove the code that protected FastISel from aborting in
authorDan Gohman <gohman@apple.com>
Tue, 9 Sep 2008 02:40:04 +0000 (02:40 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 9 Sep 2008 02:40:04 +0000 (02:40 +0000)
the case of loads, stores, and conditional branches. It can
handle those now, so any that aren't handled should trigger
the abort.

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

lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

index 344b91cf82c9203ae7ac0ba623db84efde320435..a2716c2706c860ac7b6ef081158424afd95741c2 100644 (file)
@@ -760,8 +760,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(Function &Fn, MachineFunction &MF) {
             continue;
 
           // Then handle certain instructions as single-LLVM-Instruction blocks.
-          if (isa<CallInst>(BI) || isa<LoadInst>(BI) ||
-              isa<StoreInst>(BI)) {
+          if (isa<CallInst>(BI)) {
             if (BI->getType() != Type::VoidTy) {
               unsigned &R = FuncInfo->ValueMap[BI];
               if (!R)
@@ -774,9 +773,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(Function &Fn, MachineFunction &MF) {
 
           if (!DisableFastISelAbort &&
               // For now, don't abort on non-conditional-branch terminators.
-              (!isa<TerminatorInst>(BI) ||
-               (isa<BranchInst>(BI) &&
-                cast<BranchInst>(BI)->isUnconditional()))) {
+              (!isa<TerminatorInst>(BI) || isa<BranchInst>(BI))) {
             // The "fast" selector couldn't handle something and bailed.
             // For the purpose of debugging, just abort.
 #ifndef NDEBUG