[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