diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetMachine.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp index d511de67212..dcc9beaf9d0 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp +++ b/llvm/lib/Target/X86/X86TargetMachine.cpp @@ -50,6 +50,13 @@ bool X86TargetMachine::addPassesToEmitAssembly(PassManager &PM, // FIXME: Implement the switch instruction in the instruction selector! PM.add(createLowerSwitchPass()); + // FIXME: Implement the invoke/unwind instructions! + PM.add(createLowerInvokePass()); + + // FIXME: The code generator does not properly handle functions with + // unreachable basic blocks. + PM.add(createCFGSimplificationPass()); + if (NoPatternISel) PM.add(createX86SimpleInstructionSelector(*this)); else @@ -94,6 +101,13 @@ bool X86TargetMachine::addPassesToJITCompile(FunctionPassManager &PM) { // FIXME: Implement the switch instruction in the instruction selector! PM.add(createLowerSwitchPass()); + // FIXME: Implement the invoke/unwind instructions! + PM.add(createLowerInvokePass()); + + // FIXME: The code generator does not properly handle functions with + // unreachable basic blocks. + PM.add(createCFGSimplificationPass()); + if (NoPatternISel) PM.add(createX86SimpleInstructionSelector(*this)); else |

