Encoding calling conv info in call/invoke instrs, tree add now round trips completely

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36707 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2007-05-03 22:34:03 +00:00
parent c9c55a9d2f
commit 76520191ab
2 changed files with 24 additions and 18 deletions

View File

@ -571,7 +571,7 @@ static void WriteInstruction(const Instruction &I, ValueEnumerator &VE,
break;
case Instruction::Invoke: {
Code = bitc::FUNC_CODE_INST_INVOKE;
// FIXME: param attrs
Vals.push_back(cast<InvokeInst>(I).getCallingConv());
Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));
Vals.push_back(VE.getValueID(I.getOperand(0))); // callee
Vals.push_back(VE.getValueID(I.getOperand(1))); // normal
@ -647,7 +647,8 @@ static void WriteInstruction(const Instruction &I, ValueEnumerator &VE,
break;
case Instruction::Call: {
Code = bitc::FUNC_CODE_INST_CALL;
// FIXME: param attrs
Vals.push_back((cast<CallInst>(I).getCallingConv() << 1) |
cast<CallInst>(I).isTailCall());
Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));
Vals.push_back(VE.getValueID(I.getOperand(0))); // callee