[llvm-commits] CVS: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

Chris Lattner sabre at nondot.org
Thu May 3 15:34:27 PDT 2007



Changes in directory llvm/lib/Bitcode/Writer:

BitcodeWriter.cpp updated: 1.23 -> 1.24
---
Log message:

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


---
Diffs of the changes:  (+3 -2)

 BitcodeWriter.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


Index: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff -u llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.23 llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.24
--- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.23	Thu May  3 17:19:34 2007
+++ llvm/lib/Bitcode/Writer/BitcodeWriter.cpp	Thu May  3 17:34:03 2007
@@ -571,7 +571,7 @@
     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 @@
     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
     






More information about the llvm-commits mailing list