mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
rename the "exceptional" destination of an invoke instruction to the 'unwind' dest
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11202 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
95778a0257
commit
aeb2a1d708
@ -261,10 +261,10 @@ public:
|
||||
inline BasicBlock *getNormalDest() {
|
||||
return cast<BasicBlock>(Operands[1].get());
|
||||
}
|
||||
inline const BasicBlock *getExceptionalDest() const {
|
||||
inline const BasicBlock *getUnwindDest() const {
|
||||
return cast<BasicBlock>(Operands[2].get());
|
||||
}
|
||||
inline BasicBlock *getExceptionalDest() {
|
||||
inline BasicBlock *getUnwindDest() {
|
||||
return cast<BasicBlock>(Operands[2].get());
|
||||
}
|
||||
|
||||
@ -272,17 +272,17 @@ public:
|
||||
Operands[1] = reinterpret_cast<Value*>(B);
|
||||
}
|
||||
|
||||
inline void setExceptionalDest(BasicBlock *B){
|
||||
inline void setUnwindDest(BasicBlock *B){
|
||||
Operands[2] = reinterpret_cast<Value*>(B);
|
||||
}
|
||||
|
||||
virtual const BasicBlock *getSuccessor(unsigned i) const {
|
||||
assert(i < 2 && "Successor # out of range for invoke!");
|
||||
return i == 0 ? getNormalDest() : getExceptionalDest();
|
||||
return i == 0 ? getNormalDest() : getUnwindDest();
|
||||
}
|
||||
inline BasicBlock *getSuccessor(unsigned i) {
|
||||
assert(i < 2 && "Successor # out of range for invoke!");
|
||||
return i == 0 ? getNormalDest() : getExceptionalDest();
|
||||
return i == 0 ? getNormalDest() : getUnwindDest();
|
||||
}
|
||||
|
||||
virtual void setSuccessor(unsigned idx, BasicBlock *NewSucc) {
|
||||
|
@ -589,8 +589,7 @@ void Interpreter::visitUnwindInst(UnwindInst &I) {
|
||||
InvokingSF.Caller = CallSite ();
|
||||
|
||||
// Go to exceptional destination BB of invoke instruction
|
||||
SwitchToNewBasicBlock (cast<InvokeInst> (Inst)->getExceptionalDest (),
|
||||
InvokingSF);
|
||||
SwitchToNewBasicBlock(cast<InvokeInst>(Inst)->getUnwindDest(), InvokingSF);
|
||||
}
|
||||
|
||||
void Interpreter::visitBranchInst(BranchInst &I) {
|
||||
|
@ -1092,7 +1092,7 @@ void CWriter::visitInvokeInst(InvokeInst &II) {
|
||||
<< " Entry.next = __llvm_jmpbuf_list;\n"
|
||||
<< " if (setjmp(Entry.buf)) {\n"
|
||||
<< " __llvm_jmpbuf_list = Entry.next;\n";
|
||||
printBranchToBlock(II.getParent(), II.getExceptionalDest(), 4);
|
||||
printBranchToBlock(II.getParent(), II.getUnwindDest(), 4);
|
||||
Out << " }\n"
|
||||
<< " __llvm_jmpbuf_list = &Entry;\n"
|
||||
<< " ";
|
||||
|
@ -1092,7 +1092,7 @@ void CWriter::visitInvokeInst(InvokeInst &II) {
|
||||
<< " Entry.next = __llvm_jmpbuf_list;\n"
|
||||
<< " if (setjmp(Entry.buf)) {\n"
|
||||
<< " __llvm_jmpbuf_list = Entry.next;\n";
|
||||
printBranchToBlock(II.getParent(), II.getExceptionalDest(), 4);
|
||||
printBranchToBlock(II.getParent(), II.getUnwindDest(), 4);
|
||||
Out << " }\n"
|
||||
<< " __llvm_jmpbuf_list = &Entry;\n"
|
||||
<< " ";
|
||||
|
@ -424,7 +424,7 @@ void DAE::RemoveDeadArgumentsFromFunction(Function *F) {
|
||||
|
||||
Instruction *New;
|
||||
if (InvokeInst *II = dyn_cast<InvokeInst>(Call)) {
|
||||
New = new InvokeInst(NF, II->getNormalDest(), II->getExceptionalDest(),
|
||||
New = new InvokeInst(NF, II->getNormalDest(), II->getUnwindDest(),
|
||||
Args, "", Call);
|
||||
} else {
|
||||
New = new CallInst(NF, Args, "", Call);
|
||||
|
@ -489,7 +489,7 @@ void LowerSetJmp::visitInvokeInst(InvokeInst& II)
|
||||
if (!DFSBlocks.count(BB)) return;
|
||||
|
||||
BasicBlock* NormalBB = II.getNormalDest();
|
||||
BasicBlock* ExceptBB = II.getExceptionalDest();
|
||||
BasicBlock* ExceptBB = II.getUnwindDest();
|
||||
|
||||
Function* Func = BB->getParent();
|
||||
BasicBlock* NewExceptBB = new BasicBlock("InvokeExcept", Func);
|
||||
@ -503,7 +503,7 @@ void LowerSetJmp::visitInvokeInst(InvokeInst& II)
|
||||
|
||||
new BranchInst(PrelimBBMap[Func], ExceptBB, IsLJExcept, NewExceptBB);
|
||||
|
||||
II.setExceptionalDest(NewExceptBB);
|
||||
II.setUnwindDest(NewExceptBB);
|
||||
++InvokesTransformed;
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ bool PruneEH::runOnSCC(const std::vector<CallGraphNode *> &SCC) {
|
||||
// Anything that used the value produced by the invoke instruction
|
||||
// now uses the value produced by the call instruction.
|
||||
II->replaceAllUsesWith(Call);
|
||||
II->getExceptionalDest()->removePredecessor(II->getParent());
|
||||
II->getUnwindDest()->removePredecessor(II->getParent());
|
||||
|
||||
// Insert a branch to the normal destination right before the
|
||||
// invoke.
|
||||
|
@ -1839,7 +1839,7 @@ bool InstCombiner::transformConstExprCastCall(CallSite CS) {
|
||||
UI != E; ++UI)
|
||||
if (PHINode *PN = dyn_cast<PHINode>(*UI))
|
||||
if (PN->getParent() == II->getNormalDest() ||
|
||||
PN->getParent() == II->getExceptionalDest())
|
||||
PN->getParent() == II->getUnwindDest())
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1904,7 +1904,7 @@ bool InstCombiner::transformConstExprCastCall(CallSite CS) {
|
||||
|
||||
Instruction *NC;
|
||||
if (InvokeInst *II = dyn_cast<InvokeInst>(Caller)) {
|
||||
NC = new InvokeInst(Callee, II->getNormalDest(), II->getExceptionalDest(),
|
||||
NC = new InvokeInst(Callee, II->getNormalDest(), II->getUnwindDest(),
|
||||
Args, Caller->getName(), Caller);
|
||||
} else {
|
||||
NC = new CallInst(Callee, Args, Caller->getName(), Caller);
|
||||
|
@ -106,7 +106,7 @@ bool llvm::InlineFunction(CallSite CS) {
|
||||
// any inlined 'unwind' instructions into branches to the invoke exception
|
||||
// destination, and call instructions into invoke instructions.
|
||||
if (InvokeInst *II = dyn_cast<InvokeInst>(TheCall)) {
|
||||
BasicBlock *InvokeDest = II->getExceptionalDest();
|
||||
BasicBlock *InvokeDest = II->getUnwindDest();
|
||||
std::vector<Value*> InvokeDestPHIValues;
|
||||
|
||||
// If there are PHI nodes in the exceptional destination block, we need to
|
||||
|
@ -169,7 +169,7 @@ bool LowerInvoke::insertCheapEHSupport(Function &F) {
|
||||
new BranchInst(II->getNormalDest(), II);
|
||||
|
||||
// Remove any PHI node entries from the exception destination.
|
||||
II->getExceptionalDest()->removePredecessor(BB);
|
||||
II->getUnwindDest()->removePredecessor(BB);
|
||||
|
||||
// Remove the invoke instruction now.
|
||||
BB->getInstList().erase(II);
|
||||
@ -256,7 +256,7 @@ bool LowerInvoke::insertExpensiveEHSupport(Function &F) {
|
||||
new StoreInst(OldEntry, JBListHead, InsertLoc);
|
||||
|
||||
// Now we change the invoke into a branch instruction.
|
||||
new BranchInst(II->getNormalDest(), II->getExceptionalDest(), IsNormal, II);
|
||||
new BranchInst(II->getNormalDest(), II->getUnwindDest(), IsNormal, II);
|
||||
|
||||
// Remove the InvokeInst now.
|
||||
BB->getInstList().erase(II);
|
||||
|
@ -115,7 +115,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
|
||||
while (!Preds.empty()) {
|
||||
BasicBlock *Pred = Preds.back();
|
||||
if (InvokeInst *II = dyn_cast<InvokeInst>(Pred->getTerminator()))
|
||||
if (II->getExceptionalDest() == BB) {
|
||||
if (II->getUnwindDest() == BB) {
|
||||
// Insert a new branch instruction before the invoke, because this
|
||||
// is now a fall through...
|
||||
BranchInst *BI = new BranchInst(II->getNormalDest(), II);
|
||||
|
@ -895,7 +895,7 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
|
||||
Out << " )\n\t\t\tto";
|
||||
writeOperand(II->getNormalDest(), true);
|
||||
Out << " except";
|
||||
writeOperand(II->getExceptionalDest(), true);
|
||||
writeOperand(II->getUnwindDest(), true);
|
||||
|
||||
} else if (const AllocationInst *AI = dyn_cast<AllocationInst>(&I)) {
|
||||
Out << " ";
|
||||
|
Loading…
x
Reference in New Issue
Block a user