summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-05-04 03:30:17 +0000
committerChris Lattner <sabre@nondot.org>2007-05-04 03:30:17 +0000
commitfee5a3752afb3b94715c55fad007fe33ac974650 (patch)
tree87e19a7916fdf90e2344c03315bfe550f873dfff /llvm/lib/Bitcode/Reader/BitcodeReader.h
parentfc5b61941993bfc54c34f90551a9f0ef1378ca63 (diff)
downloadbcm5719-llvm-fee5a3752afb3b94715c55fad007fe33ac974650.tar.gz
bcm5719-llvm-fee5a3752afb3b94715c55fad007fe33ac974650.zip
add support for reading the param attrs block
llvm-svn: 36731
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.h')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.h b/llvm/lib/Bitcode/Reader/BitcodeReader.h
index e537310ecaf..44d69a6eca7 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.h
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.h
@@ -24,6 +24,7 @@
namespace llvm {
class MemoryBuffer;
+ class ParamAttrsList;
class BitcodeReaderValueList : public User {
std::vector<Use> Uses;
@@ -85,6 +86,11 @@ class BitcodeReader : public ModuleProvider {
std::vector<std::pair<GlobalVariable*, unsigned> > GlobalInits;
std::vector<std::pair<GlobalAlias*, unsigned> > AliasInits;
+ /// ParamAttrs - The set of parameter attributes by index. Index zero in the
+ /// file is for null, and is thus not represented here. As such all indices
+ /// are off by one.
+ std::vector<const ParamAttrsList*> ParamAttrs;
+
/// FunctionBBs - While parsing a function body, this is a list of the basic
/// blocks for the function.
std::vector<BasicBlock*> FunctionBBs;
@@ -136,8 +142,15 @@ private:
if (ID >= FunctionBBs.size()) return 0; // Invalid ID
return FunctionBBs[ID];
}
+ const ParamAttrsList *getParamAttrs(unsigned i) const {
+ if (i-1 < ParamAttrs.size())
+ return ParamAttrs[i-1];
+ return 0;
+ }
+
bool ParseModule(const std::string &ModuleID);
+ bool ParseParamAttrBlock();
bool ParseTypeTable();
bool ParseTypeSymbolTable();
bool ParseValueSymbolTable();
OpenPOWER on IntegriCloud