Move -lowerselect later in the chain; some select instructions were
slipping through into the instruction selector, which can't deal with
them yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18758 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/Sparc/SparcTargetMachine.cpp b/lib/Target/Sparc/SparcTargetMachine.cpp
index 324fc5b..065dc2d 100644
--- a/lib/Target/Sparc/SparcTargetMachine.cpp
+++ b/lib/Target/Sparc/SparcTargetMachine.cpp
@@ -65,9 +65,6 @@
// Replace malloc and free instructions with library calls.
PM.add(createLowerAllocationsPass());
- // FIXME: implement the select instruction in the instruction selector.
- PM.add(createLowerSelectPass());
-
// FIXME: implement the switch instruction in the instruction selector.
PM.add(createLowerSwitchPass());
@@ -79,6 +76,9 @@
// Make sure that no unreachable blocks are instruction selected.
PM.add(createUnreachableBlockEliminationPass());
+ // FIXME: implement the select instruction in the instruction selector.
+ PM.add(createLowerSelectPass());
+
PM.add(createSparcV8SimpleInstructionSelector(*this));
// Print machine instructions as they were initially generated.
@@ -118,9 +118,6 @@
// Replace malloc and free instructions with library calls.
PM.add(createLowerAllocationsPass());
- // FIXME: implement the select instruction in the instruction selector.
- PM.add(createLowerSelectPass());
-
// FIXME: implement the switch instruction in the instruction selector.
PM.add(createLowerSwitchPass());
@@ -132,6 +129,9 @@
// Make sure that no unreachable blocks are instruction selected.
PM.add(createUnreachableBlockEliminationPass());
+ // FIXME: implement the select instruction in the instruction selector.
+ PM.add(createLowerSelectPass());
+
PM.add(createSparcV8SimpleInstructionSelector(TM));
// Print machine instructions as they were initially generated.