diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 83a390edaf8..4886a114811 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -59,9 +59,6 @@ X86TargetMachine::X86TargetMachine(const Module &M, IntrinsicLowering *IL) // does to emit statically compiled machine code. bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM, std::ostream &Out) { - // FIXME: Implement the switch instruction in the instruction selector! - PM.add(createLowerSwitchPass()); - // FIXME: Implement the invoke/unwind instructions! PM.add(createLowerInvokePass()); @@ -69,6 +66,9 @@ bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM, // unreachable basic blocks. PM.add(createCFGSimplificationPass()); + // FIXME: Implement the switch instruction in the instruction selector! + PM.add(createLowerSwitchPass()); + if (NoPatternISel) PM.add(createX86SimpleInstructionSelector(*this)); else @@ -115,8 +115,6 @@ bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM, /// not supported for this target. /// void X86JITInfo::addPassesToJITCompile(FunctionPassManager &PM) { - // FIXME: Implement the switch instruction in the instruction selector! - PM.add(createLowerSwitchPass()); // FIXME: Implement the invoke/unwind instructions! PM.add(createLowerInvokePass()); @@ -125,6 +123,9 @@ void X86JITInfo::addPassesToJITCompile(FunctionPassManager &PM) { // unreachable basic blocks. PM.add(createCFGSimplificationPass()); + // FIXME: Implement the switch instruction in the instruction selector! + PM.add(createLowerSwitchPass()); + if (NoPatternISel) PM.add(createX86SimpleInstructionSelector(TM)); else