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 | 48c85b84c1b66fb6a1b0d2afddf33da5bd82960d (patch) | |
tree | b5f7275a06fbb9757f3c96cc3b45f5c1c3b9db3b /lib/Bitcode/Reader/BitcodeReader.h | |
parent | f6f9cd1bf2e50244273cfdaf10573f10a545cdd5 (diff) | |
download | llvm-48c85b84c1b66fb6a1b0d2afddf33da5bd82960d.tar.gz llvm-48c85b84c1b66fb6a1b0d2afddf33da5bd82960d.tar.bz2 llvm-48c85b84c1b66fb6a1b0d2afddf33da5bd82960d.tar.xz |
add support for reading the param attrs block
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36731 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode/Reader/BitcodeReader.h')
-rw-r--r-- | lib/Bitcode/Reader/BitcodeReader.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.h b/lib/Bitcode/Reader/BitcodeReader.h index e537310eca..44d69a6eca 100644 --- a/lib/Bitcode/Reader/BitcodeReader.h +++ b/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(); |