diff options
author | Chris Lattner <sabre@nondot.org> | 2007-05-04 03:30:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-05-04 03:30:17 +0000 |
commit | fee5a3752afb3b94715c55fad007fe33ac974650 (patch) | |
tree | 87e19a7916fdf90e2344c03315bfe550f873dfff /llvm/lib/Bitcode/Reader/BitcodeReader.h | |
parent | fc5b61941993bfc54c34f90551a9f0ef1378ca63 (diff) | |
download | bcm5719-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.h | 13 |
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(); |