From 48c85b84c1b66fb6a1b0d2afddf33da5bd82960d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 4 May 2007 03:30:17 +0000 Subject: 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 --- lib/Bitcode/Reader/BitcodeReader.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/Bitcode/Reader/BitcodeReader.h') 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 Uses; @@ -85,6 +86,11 @@ class BitcodeReader : public ModuleProvider { std::vector > GlobalInits; std::vector > 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 ParamAttrs; + /// FunctionBBs - While parsing a function body, this is a list of the basic /// blocks for the function. std::vector 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(); -- cgit v1.2.3-18-g5258