summaryrefslogtreecommitdiff
path: root/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
commit48c85b84c1b66fb6a1b0d2afddf33da5bd82960d (patch)
treeb5f7275a06fbb9757f3c96cc3b45f5c1c3b9db3b /lib/Bitcode/Reader/BitcodeReader.h
parentf6f9cd1bf2e50244273cfdaf10573f10a545cdd5 (diff)
downloadllvm-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.h13
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();