1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

First version of llvm-upgrade that can correctly upgrade all of

test/Feature

llvm-svn: 32092
This commit is contained in:
Reid Spencer 2006-12-01 21:10:07 +00:00
parent c5ad9caeff
commit 359a9d8247
8 changed files with 2014 additions and 1966 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -194,6 +194,7 @@ br { RET_TOK( BR); }
switch { RET_TOK( SWITCH); }
invoke { RET_TOK( INVOKE); }
unwind { RET_TOK( UNWIND); }
except { RET_TOK( UNWIND); }
unreachable { RET_TOK( UNREACHABLE); }
malloc { RET_TOK( MALLOC); }

View File

@ -194,6 +194,7 @@ br { RET_TOK( BR); }
switch { RET_TOK( SWITCH); }
invoke { RET_TOK( INVOKE); }
unwind { RET_TOK( UNWIND); }
except { RET_TOK( UNWIND); }
unreachable { RET_TOK( UNREACHABLE); }
malloc { RET_TOK( MALLOC); }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -219,7 +219,12 @@ OptLinkage
OptCallingConv
: CCC_TOK | CSRETCC_TOK | FASTCC_TOK | COLDCC_TOK | X86_STDCALLCC_TOK
| X86_FASTCALLCC_TOK | CC_TOK EUINT64VAL
| X86_FASTCALLCC_TOK
| CC_TOK EUINT64VAL {
*$1 += *$2.cnst;
$2.destroy();
$$ = $1;
}
| /*empty*/ { $$ = new std::string(""); } ;
// OptAlign/OptCAlign - An optional alignment, and an optional alignment with
@ -813,7 +818,7 @@ BasicBlockList : BasicBlockList BasicBlock {
// Basic blocks are terminated by branching instructions:
// br, br/cc, switch, ret
//
BasicBlock : InstructionList OptAssign BBTerminatorInst {
BasicBlock : InstructionList BBTerminatorInst {
*O << *$2 ;
};
@ -865,13 +870,17 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
delete $1; $2.destroy(); delete $3; $5.destroy(); delete $6;
$$ = 0;
}
| INVOKE OptCallingConv TypesV ValueRef '(' ValueRefListE ')'
| OptAssign INVOKE OptCallingConv TypesV ValueRef '(' ValueRefListE ')'
TO LABEL ValueRef UNWIND LABEL ValueRef {
*O << " " << *$1 << " " << *$2 << " " << *$3.newTy << " " << *$4 << " ("
<< *$6 << ") " << *$8 << " " << *$9.newTy << " " << *$10 << " "
<< *$11 << " " << *$12.newTy << " " << *$13 << "\n";
delete $1; delete $2; $3.destroy(); delete $4; delete $6; delete $8;
$9.destroy(); delete $10; delete $11; $12.destroy(); delete $13;
*O << " ";
if (!$1->empty())
*O << *$1;
*O << *$2 << " " << *$3 << " " << *$4.newTy << " " << *$5 << " ("
<< *$7 << ") " << *$9 << " " << *$10.newTy << " " << *$11 << " "
<< *$12 << " " << *$13.newTy << " " << *$14 << "\n";
delete $1; delete $2; delete $3; $4.destroy(); delete $5; delete $7;
delete $9; $10.destroy(); delete $11; delete $12; $13.destroy();
delete $14;
$$ = 0;
}
| UNWIND {
@ -886,7 +895,7 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
};
JumpTable : JumpTable IntType ConstValueRef ',' LABEL ValueRef {
*$1 += *$2.newTy + " " + *$3 + ", " + *$5.newTy + " " + *$6;
*$1 += " " + *$2.newTy + " " + *$3 + ", " + *$5.newTy + " " + *$6;
$2.destroy(); delete $3; $5.destroy(); delete $6;
$$ = $1;
}

View File

@ -219,7 +219,12 @@ OptLinkage
OptCallingConv
: CCC_TOK | CSRETCC_TOK | FASTCC_TOK | COLDCC_TOK | X86_STDCALLCC_TOK
| X86_FASTCALLCC_TOK | CC_TOK EUINT64VAL
| X86_FASTCALLCC_TOK
| CC_TOK EUINT64VAL {
*$1 += *$2.cnst;
$2.destroy();
$$ = $1;
}
| /*empty*/ { $$ = new std::string(""); } ;
// OptAlign/OptCAlign - An optional alignment, and an optional alignment with
@ -813,7 +818,7 @@ BasicBlockList : BasicBlockList BasicBlock {
// Basic blocks are terminated by branching instructions:
// br, br/cc, switch, ret
//
BasicBlock : InstructionList OptAssign BBTerminatorInst {
BasicBlock : InstructionList BBTerminatorInst {
*O << *$2 ;
};
@ -865,13 +870,17 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
delete $1; $2.destroy(); delete $3; $5.destroy(); delete $6;
$$ = 0;
}
| INVOKE OptCallingConv TypesV ValueRef '(' ValueRefListE ')'
| OptAssign INVOKE OptCallingConv TypesV ValueRef '(' ValueRefListE ')'
TO LABEL ValueRef UNWIND LABEL ValueRef {
*O << " " << *$1 << " " << *$2 << " " << *$3.newTy << " " << *$4 << " ("
<< *$6 << ") " << *$8 << " " << *$9.newTy << " " << *$10 << " "
<< *$11 << " " << *$12.newTy << " " << *$13 << "\n";
delete $1; delete $2; $3.destroy(); delete $4; delete $6; delete $8;
$9.destroy(); delete $10; delete $11; $12.destroy(); delete $13;
*O << " ";
if (!$1->empty())
*O << *$1;
*O << *$2 << " " << *$3 << " " << *$4.newTy << " " << *$5 << " ("
<< *$7 << ") " << *$9 << " " << *$10.newTy << " " << *$11 << " "
<< *$12 << " " << *$13.newTy << " " << *$14 << "\n";
delete $1; delete $2; delete $3; $4.destroy(); delete $5; delete $7;
delete $9; $10.destroy(); delete $11; delete $12; $13.destroy();
delete $14;
$$ = 0;
}
| UNWIND {
@ -886,7 +895,7 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
};
JumpTable : JumpTable IntType ConstValueRef ',' LABEL ValueRef {
*$1 += *$2.newTy + " " + *$3 + ", " + *$5.newTy + " " + *$6;
*$1 += " " + *$2.newTy + " " + *$3 + ", " + *$5.newTy + " " + *$6;
$2.destroy(); delete $3; $5.destroy(); delete $6;
$$ = $1;
}