Turn unwind_to into "unwinds to".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48123 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky
2008-03-10 02:20:00 +00:00
parent b8cafe3427
commit 9be3c97183
11 changed files with 35 additions and 35 deletions

View File

@@ -474,7 +474,7 @@ int LLLexer::LexIdentifier() {
KEYWORD("asm", ASM_TOK); KEYWORD("asm", ASM_TOK);
KEYWORD("sideeffect", SIDEEFFECT); KEYWORD("sideeffect", SIDEEFFECT);
KEYWORD("gc", GC); KEYWORD("gc", GC);
KEYWORD("unwind_to", UNWIND_TO); KEYWORD("unwinds", UNWINDS);
KEYWORD("cc", CC_TOK); KEYWORD("cc", CC_TOK);
KEYWORD("ccc", CCC_TOK); KEYWORD("ccc", CCC_TOK);

View File

@@ -1064,7 +1064,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) {
%token OPAQUE EXTERNAL TARGET TRIPLE ALIGN ADDRSPACE %token OPAQUE EXTERNAL TARGET TRIPLE ALIGN ADDRSPACE
%token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT
%token CC_TOK CCC_TOK FASTCC_TOK COLDCC_TOK X86_STDCALLCC_TOK X86_FASTCALLCC_TOK %token CC_TOK CCC_TOK FASTCC_TOK COLDCC_TOK X86_STDCALLCC_TOK X86_FASTCALLCC_TOK
%token DATALAYOUT UNWIND_TO %token DATALAYOUT UNWINDS
%type <UIntVal> OptCallingConv %type <UIntVal> OptCallingConv
%type <ParamAttrs> OptParamAttrs ParamAttr %type <ParamAttrs> OptParamAttrs ParamAttr
%type <ParamAttrs> OptFuncAttrs FuncAttr %type <ParamAttrs> OptFuncAttrs FuncAttr
@@ -2569,8 +2569,8 @@ InstructionList : InstructionList Inst {
$$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum), 0); $$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum), 0);
CHECK_FOR_ERROR CHECK_FOR_ERROR
} }
| UNWIND_TO ValueRef { // Only the unwind to block | UNWINDS TO ValueRef { // Only the unwind to block
$$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum), getBBVal($2)); $$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum), getBBVal($3));
CHECK_FOR_ERROR CHECK_FOR_ERROR
} }
| LABELSTR { // Labelled (named) basic block | LABELSTR { // Labelled (named) basic block
@@ -2578,8 +2578,8 @@ InstructionList : InstructionList Inst {
delete $1; delete $1;
CHECK_FOR_ERROR CHECK_FOR_ERROR
} }
| LABELSTR UNWIND_TO ValueRef { | LABELSTR UNWINDS TO ValueRef {
$$ = defineBBVal(ValID::createLocalName(*$1), getBBVal($3)); $$ = defineBBVal(ValID::createLocalName(*$1), getBBVal($4));
delete $1; delete $1;
CHECK_FOR_ERROR CHECK_FOR_ERROR
}; };

View File

@@ -32,7 +32,7 @@ using namespace llvm;
STATISTIC(NumRemoved, "Number of invokes removed"); STATISTIC(NumRemoved, "Number of invokes removed");
STATISTIC(NumUnreach, "Number of noreturn calls optimized"); STATISTIC(NumUnreach, "Number of noreturn calls optimized");
STATISTIC(NumBBUnwind, "Number of unwind_to removed from blocks"); STATISTIC(NumBBUnwind, "Number of unwind dest removed from blocks");
namespace { namespace {
struct VISIBILITY_HIDDEN PruneEH : public CallGraphSCCPass { struct VISIBILITY_HIDDEN PruneEH : public CallGraphSCCPass {

View File

@@ -105,7 +105,7 @@ void llvm::CloneFunctionInto(Function *NewFunc, const Function *OldFunc,
// //
for (Function::iterator BB = cast<BasicBlock>(ValueMap[OldFunc->begin()]), for (Function::iterator BB = cast<BasicBlock>(ValueMap[OldFunc->begin()]),
BE = NewFunc->end(); BB != BE; ++BB) { BE = NewFunc->end(); BB != BE; ++BB) {
// Fix up the unwind_to label. // Fix up the unwind destination.
if (BasicBlock *UnwindDest = BB->getUnwindDest()) if (BasicBlock *UnwindDest = BB->getUnwindDest())
BB->setUnwindDest(cast<BasicBlock>(ValueMap[UnwindDest])); BB->setUnwindDest(cast<BasicBlock>(ValueMap[UnwindDest]));

View File

@@ -69,7 +69,7 @@ llvm::CloneTrace(const std::vector<BasicBlock*> &origTrace) {
for (std::vector<BasicBlock *>::const_iterator BB = clonedTrace.begin(), for (std::vector<BasicBlock *>::const_iterator BB = clonedTrace.begin(),
BE = clonedTrace.end(); BB != BE; ++BB) { BE = clonedTrace.end(); BB != BE; ++BB) {
//Remap the unwind_to label //Remap the unwind destination
if (BasicBlock *UnwindDest = (*BB)->getUnwindDest()) if (BasicBlock *UnwindDest = (*BB)->getUnwindDest())
(*BB)->setUnwindDest(cast<BasicBlock>(ValueMap[UnwindDest])); (*BB)->setUnwindDest(cast<BasicBlock>(ValueMap[UnwindDest]));

View File

@@ -1829,7 +1829,7 @@ bool llvm::SimplifyCFG(BasicBlock *BB) {
// Move all definitions in the successor to the predecessor. // Move all definitions in the successor to the predecessor.
OnlyPred->getInstList().splice(OnlyPred->end(), BB->getInstList()); OnlyPred->getInstList().splice(OnlyPred->end(), BB->getInstList());
// Move the unwind_to block // Move the unwind destination block
if (!OnlyPred->getUnwindDest() && BB->getUnwindDest()) if (!OnlyPred->getUnwindDest() && BB->getUnwindDest())
OnlyPred->setUnwindDest(BB->getUnwindDest()); OnlyPred->setUnwindDest(BB->getUnwindDest());

View File

@@ -1169,7 +1169,7 @@ void AssemblyWriter::printBasicBlock(const BasicBlock *BB) {
if (BB->hasName()) if (BB->hasName())
Out << ' '; Out << ' ';
Out << "unwind_to"; Out << "unwinds to";
writeOperand(unwindDest, false); writeOperand(unwindDest, false);
} }

View File

@@ -4,7 +4,7 @@
; http://nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt ; http://nondot.org/sabre/LLVMNotes/ExceptionHandlingChanges.txt
define i1 @test1(i8 %i, i8 %j) { define i1 @test1(i8 %i, i8 %j) {
entry: unwind_to %target entry: unwinds to %target
%tmp = sub i8 %i, %j ; <i8> [#uses=1] %tmp = sub i8 %i, %j ; <i8> [#uses=1]
%b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1] %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
ret i1 %b ret i1 %b
@@ -15,7 +15,7 @@ target:
define i1 @test2(i8 %i, i8 %j) { define i1 @test2(i8 %i, i8 %j) {
entry: entry:
br label %0 br label %0
unwind_to %1 unwinds to %1
%tmp = sub i8 %i, %j ; <i8> [#uses=1] %tmp = sub i8 %i, %j ; <i8> [#uses=1]
%b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1] %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
ret i1 %b ret i1 %b
@@ -26,11 +26,11 @@ unwind_to %1
define i1 @test3(i8 %i, i8 %j) { define i1 @test3(i8 %i, i8 %j) {
entry: entry:
br label %0 br label %0
unwind_to %1 unwinds to %1
%tmp = sub i8 %i, %j ; <i8> [#uses=1] %tmp = sub i8 %i, %j ; <i8> [#uses=1]
%b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1] %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
ret i1 %b ret i1 %b
unwind_to %0 unwinds to %0
ret i1 false ret i1 false
} }
@@ -38,7 +38,7 @@ define i1 @test4(i8 %i, i8 %j) {
%tmp = sub i8 %i, %j ; <i8> [#uses=1] %tmp = sub i8 %i, %j ; <i8> [#uses=1]
%b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1] %b = icmp eq i8 %tmp, 0 ; <i1> [#uses=1]
br label %1 br label %1
unwind_to %1 unwinds to %1
ret i1 false ret i1 false
} }
@@ -49,16 +49,16 @@ define void @test5() {
define void @test6() { define void @test6() {
entry: entry:
br label %unwind br label %unwind
unwind: unwind_to %unwind unwind: unwinds to %unwind
unwind unwind
} }
define i8 @test7(i1 %b) { define i8 @test7(i1 %b) {
entry: unwind_to %cleanup entry: unwinds to %cleanup
br i1 %b, label %cond_true, label %cond_false br i1 %b, label %cond_true, label %cond_false
cond_true: unwind_to %cleanup cond_true: unwinds to %cleanup
br label %cleanup br label %cleanup
cond_false: unwind_to %cleanup cond_false: unwinds to %cleanup
br label %cleanup br label %cleanup
cleanup: cleanup:
%x = phi i8 [0, %entry], [1, %cond_true], [1, %cond_true], %x = phi i8 [0, %entry], [1, %cond_true], [1, %cond_true],

View File

@@ -5,7 +5,7 @@ define void @g() {
} }
define i32 @f1() { define i32 @f1() {
entry: unwind_to %cleanup entry: unwinds to %cleanup
call void @g() call void @g()
ret i32 0 ret i32 0
cleanup: cleanup:

View File

@@ -1,11 +1,11 @@
; RUN: llvm-as < %s | opt -prune-eh | llvm-dis | not grep unwind_to ; RUN: llvm-as < %s | opt -prune-eh | llvm-dis | not grep {unwinds to}
define i8 @test7(i1 %b) { define i8 @test7(i1 %b) {
entry: unwind_to %cleanup entry: unwinds to %cleanup
br i1 %b, label %cond_true, label %cond_false br i1 %b, label %cond_true, label %cond_false
cond_true: unwind_to %cleanup cond_true: unwinds to %cleanup
br label %cleanup br label %cleanup
cond_false: unwind_to %cleanup cond_false: unwinds to %cleanup
br label %cleanup br label %cleanup
cleanup: cleanup:
%x = phi i8 [0, %entry], [1, %cond_true], [1, %cond_true], %x = phi i8 [0, %entry], [1, %cond_true], [1, %cond_true],

View File

@@ -1,14 +1,14 @@
; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | grep unwind_to | count 3 ; RUN: llvm-as < %s | opt -simplifycfg | llvm-dis | grep {unwinds to} | count 3
declare void @g(i32) declare void @g(i32)
define i32 @f1() { define i32 @f1() {
entry: entry:
br label %bb1 br label %bb1
bb1: unwind_to %cleanup1 bb1: unwinds to %cleanup1
call void @g(i32 0) call void @g(i32 0)
br label %bb2 br label %bb2
bb2: unwind_to %cleanup2 bb2: unwinds to %cleanup2
call void @g(i32 1) call void @g(i32 1)
br label %exit br label %exit
exit: exit:
@@ -20,22 +20,22 @@ cleanup2:
} }
define i32 @f2() { define i32 @f2() {
entry: unwind_to %cleanup entry: unwinds to %cleanup
br label %bb1 br label %bb1
bb1: unwind_to %cleanup bb1: unwinds to %cleanup
br label %bb2 br label %bb2
bb2: unwind_to %cleanup bb2: unwinds to %cleanup
br label %bb3 br label %bb3
bb3: bb3:
br label %bb4 br label %bb4
bb4: unwind_to %cleanup bb4: unwinds to %cleanup
ret i32 0 ret i32 0
cleanup: cleanup:
ret i32 1 ret i32 1
} }
define i32 @f3() { define i32 @f3() {
entry: unwind_to %cleanup entry: unwinds to %cleanup
call void @g(i32 0) call void @g(i32 0)
ret i32 0 ret i32 0
cleanup: cleanup:
@@ -43,7 +43,7 @@ cleanup:
} }
define i32 @f4() { define i32 @f4() {
entry: unwind_to %cleanup entry: unwinds to %cleanup
call void @g(i32 0) call void @g(i32 0)
br label %cleanup br label %cleanup
cleanup: cleanup:
@@ -51,7 +51,7 @@ cleanup:
} }
define i32 @f5() { define i32 @f5() {
entry: unwind_to %cleanup entry: unwinds to %cleanup
call void @g(i32 0) call void @g(i32 0)
br label %other br label %other
other: other: