diff options
| author | Dan Gohman <gohman@apple.com> | 2008-10-14 23:54:11 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2008-10-14 23:54:11 +0000 |
| commit | e7ced7455894cbe7f42496be731951aa5cc65e17 (patch) | |
| tree | fd47fb0622703296f235113dbed00550606b44e7 /llvm/lib/Target/X86/X86FastISel.cpp | |
| parent | 0f8155ae4e2cb08bf52c94fec1c73393c16bc708 (diff) | |
| download | bcm5719-llvm-e7ced7455894cbe7f42496be731951aa5cc65e17.tar.gz bcm5719-llvm-e7ced7455894cbe7f42496be731951aa5cc65e17.zip | |
FastISel support for exception-handling constructs.
- Move the EH landing-pad code and adjust it so that it works
with FastISel as well as with SDISel.
- Add FastISel support for @llvm.eh.exception and
@llvm.eh.selector.
llvm-svn: 57539
Diffstat (limited to 'llvm/lib/Target/X86/X86FastISel.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86FastISel.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86FastISel.cpp b/llvm/lib/Target/X86/X86FastISel.cpp index 2ce78eccef0..d734db56c8a 100644 --- a/llvm/lib/Target/X86/X86FastISel.cpp +++ b/llvm/lib/Target/X86/X86FastISel.cpp @@ -52,8 +52,16 @@ public: MachineModuleInfo *mmi, DenseMap<const Value *, unsigned> &vm, DenseMap<const BasicBlock *, MachineBasicBlock *> &bm, - DenseMap<const AllocaInst *, int> &am) - : FastISel(mf, mmi, vm, bm, am) { + DenseMap<const AllocaInst *, int> &am +#ifndef NDEBUG + , SmallSet<Instruction*, 8> &cil +#endif + ) + : FastISel(mf, mmi, vm, bm, am +#ifndef NDEBUG + , cil +#endif + ) { Subtarget = &TM.getSubtarget<X86Subtarget>(); StackPtr = Subtarget->is64Bit() ? X86::RSP : X86::ESP; X86ScalarSSEf64 = Subtarget->hasSSE2(); @@ -1391,7 +1399,15 @@ namespace llvm { MachineModuleInfo *mmi, DenseMap<const Value *, unsigned> &vm, DenseMap<const BasicBlock *, MachineBasicBlock *> &bm, - DenseMap<const AllocaInst *, int> &am) { - return new X86FastISel(mf, mmi, vm, bm, am); + DenseMap<const AllocaInst *, int> &am +#ifndef NDEBUG + , SmallSet<Instruction*, 8> &cil +#endif + ) { + return new X86FastISel(mf, mmi, vm, bm, am +#ifndef NDEBUG + , cil +#endif + ); } } |

