mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-14 14:24:05 +00:00
Now Attributes are divided in three groups
- return attributes - inreg, zext and sext - parameter attributes - function attributes - nounwind, readonly, readnone, noreturn Return attributes use 0 as the index. Function attributes use ~0U as the index. This patch requires corresponding changes in llvm-gcc and clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56704 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -136,10 +136,10 @@ class BitcodeReader : public ModuleProvider {
|
||||
std::vector<std::pair<GlobalVariable*, unsigned> > GlobalInits;
|
||||
std::vector<std::pair<GlobalAlias*, unsigned> > AliasInits;
|
||||
|
||||
/// Attributes - The set of parameter attributes by index. Index zero in the
|
||||
/// MAttributes - The set of 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<AttrListPtr> Attributes;
|
||||
std::vector<AttrListPtr> MAttributes;
|
||||
|
||||
/// FunctionBBs - While parsing a function body, this is a list of the basic
|
||||
/// blocks for the function.
|
||||
@ -204,8 +204,8 @@ private:
|
||||
return FunctionBBs[ID];
|
||||
}
|
||||
AttrListPtr getAttributes(unsigned i) const {
|
||||
if (i-1 < Attributes.size())
|
||||
return Attributes[i-1];
|
||||
if (i-1 < MAttributes.size())
|
||||
return MAttributes[i-1];
|
||||
return AttrListPtr();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user