X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FX86%2FX86ExpandPseudo.cpp;h=6a5a28e546f2b2ad464ea06d1f33980605709df0;hb=7a8ae347235c8eb239ad9ce6628ed70d2e318d46;hp=c9441bd0c2f1394ecd13ae318be838bfa497c6f4;hpb=f946dd04123e27edfcd15dcf0d9de68dcb79be42;p=oota-llvm.git diff --git a/lib/Target/X86/X86ExpandPseudo.cpp b/lib/Target/X86/X86ExpandPseudo.cpp index c9441bd0c2f..6a5a28e546f 100644 --- a/lib/Target/X86/X86ExpandPseudo.cpp +++ b/lib/Target/X86/X86ExpandPseudo.cpp @@ -141,41 +141,6 @@ bool X86ExpandPseudo::ExpandMI(MachineBasicBlock &MBB, // The EH_RETURN pseudo is really removed during the MC Lowering. return true; } - - case X86::CLEANUPRET: { - // Replace CATCHRET with the appropriate RET. - unsigned RetOp = STI->is64Bit() ? X86::RETQ : X86::RETL; - BuildMI(MBB, MBBI, DL, TII->get(RetOp)); - MBBI->eraseFromParent(); - return true; - } - - case X86::CATCHRET: { - MachineBasicBlock *TargetMBB = MBBI->getOperand(0).getMBB(); - - // Fill EAX/RAX with the address of the target block. - unsigned ReturnReg = STI->is64Bit() ? X86::RAX : X86::EAX; - unsigned RetOp = STI->is64Bit() ? X86::RETQ : X86::RETL; - if (STI->is64Bit()) { - // LEA64r TargetMBB(%rip), %rax - BuildMI(MBB, MBBI, DL, TII->get(X86::LEA64r), ReturnReg) - .addReg(X86::RIP) - .addImm(0) - .addReg(0) - .addMBB(TargetMBB) - .addReg(0); - } else { - // MOV32ri $TargetMBB, %eax - BuildMI(MBB, MBBI, DL, TII->get(X86::MOV32ri)) - .addReg(ReturnReg) - .addMBB(TargetMBB); - } - - // Replace CATCHRET with the appropriate RET. - BuildMI(MBB, MBBI, DL, TII->get(RetOp)).addReg(ReturnReg); - MBBI->eraseFromParent(); - return true; - } } llvm_unreachable("Previous switch has a fallthrough?"); }