[llvm-commits] [llvm] r47471 - in /llvm/trunk: include/llvm/Bitcode/LLVMBitCodes.h lib/Bitcode/Reader/BitcodeReader.cpp lib/Bitcode/Writer/BitcodeWriter.cpp

Devang Patel dpatel at apple.com
Thu Feb 21 18:49:49 PST 2008


Author: dpatel
Date: Thu Feb 21 20:49:49 2008
New Revision: 47471

URL: http://llvm.org/viewvc/llvm-project?rev=47471&view=rev
Log:
Read and write getresult.

Modified:
    llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h
    llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
    llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp

Modified: llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h?rev=47471&r1=47470&r2=47471&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h (original)
+++ llvm/trunk/include/llvm/Bitcode/LLVMBitCodes.h Thu Feb 21 20:49:49 2008
@@ -201,7 +201,8 @@
     // This store code encodes the pointer type, rather than the value type
     // this is so information only available in the pointer type (e.g. address
     // spaces) is retained.
-    FUNC_CODE_INST_STORE2      = 24 // STORE:      [ptrty,ptr,val, align, vol]
+    FUNC_CODE_INST_STORE2      = 24, // STORE:      [ptrty,ptr,val, align, vol]
+    FUNC_CODE_INST_GETRESULT   = 25  // GETRESULT:  [ty, opval, n]
   };
 } // End bitc namespace
 } // End llvm namespace

Modified: llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp?rev=47471&r1=47470&r2=47471&view=diff

==============================================================================
--- llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (original)
+++ llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp Thu Feb 21 20:49:49 2008
@@ -1325,6 +1325,16 @@
         I = new ICmpInst((ICmpInst::Predicate)Record[OpNum], LHS, RHS);
       break;
     }
+    case bitc::FUNC_CODE_INST_GETRESULT: { // GETRESULT: [ty, val, n]
+      if (Record.size() != 2)
+        return Error("Invalid GETRESULT record");
+      unsigned OpNum = 0;
+      Value *Op;
+      getValueTypePair(Record, OpNum, NextValueNo, Op);
+      unsigned Index = Record[1];
+      I = new GetResultInst(Op, Index);
+      break;
+    }
     
     case bitc::FUNC_CODE_INST_RET: // RET: [opty,opval<optional>]
       if (Record.empty()) {

Modified: llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp?rev=47471&r1=47470&r2=47471&view=diff

==============================================================================
--- llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp (original)
+++ llvm/trunk/lib/Bitcode/Writer/BitcodeWriter.cpp Thu Feb 21 20:49:49 2008
@@ -744,6 +744,11 @@
     Vals.push_back(VE.getValueID(I.getOperand(1)));
     Vals.push_back(cast<CmpInst>(I).getPredicate());
     break;
+  case Instruction::GetResult:
+    Code = bitc::FUNC_CODE_INST_GETRESULT;
+    PushValueAndType(I.getOperand(0), InstID, Vals, VE);
+    Vals.push_back(Log2_32(cast<GetResultInst>(I).getIndex())+1);
+    break;
 
   case Instruction::Ret:
     Code = bitc::FUNC_CODE_INST_RET;





More information about the llvm-commits mailing list