mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 02:33:33 +00:00
Move MaximumAlignment to be a member of the Value class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109891 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
81881bcd35
commit
e16829b401
@ -307,6 +307,10 @@ public:
|
||||
return const_cast<Value*>(this)->DoPHITranslation(CurBB, PredBB);
|
||||
}
|
||||
|
||||
/// MaximumAlignment - This is the greatest alignment value supported by
|
||||
/// load, store, and alloca instructions, and global values.
|
||||
static const unsigned MaximumAlignment = 1u << 29;
|
||||
|
||||
protected:
|
||||
unsigned short getSubclassDataFromValue() const { return SubclassData; }
|
||||
void setValueSubclassData(unsigned short D) { SubclassData = D; }
|
||||
@ -401,10 +405,6 @@ public:
|
||||
enum { NumLowBitsAvailable = 2 };
|
||||
};
|
||||
|
||||
/// MaximumAlignment - This is the greatest alignment value supported by
|
||||
/// load, store, and alloca instructions, and global values.
|
||||
static const unsigned MaximumAlignment = 1u << 29;
|
||||
|
||||
} // End llvm namespace
|
||||
|
||||
#endif
|
||||
|
@ -1154,7 +1154,7 @@ bool LLParser::ParseOptionalAlignment(unsigned &Alignment) {
|
||||
if (ParseUInt32(Alignment)) return true;
|
||||
if (!isPowerOf2_32(Alignment))
|
||||
return Error(AlignLoc, "alignment is not a power of two");
|
||||
if (Alignment > MaximumAlignment)
|
||||
if (Alignment > Value::MaximumAlignment)
|
||||
return Error(AlignLoc, "huge alignments are not supported yet");
|
||||
return false;
|
||||
}
|
||||
|
@ -109,9 +109,10 @@ unsigned InstCombiner::GetOrEnforceKnownAlignment(Value *V,
|
||||
TrailZ = std::min(TrailZ, unsigned(sizeof(unsigned) * CHAR_BIT - 1));
|
||||
|
||||
unsigned Align = 1u << std::min(BitWidth - 1, TrailZ);
|
||||
unsigned MaxAlign = Value::MaximumAlignment;
|
||||
|
||||
// LLVM doesn't support alignments larger than this currently.
|
||||
Align = std::min(Align, MaximumAlignment);
|
||||
Align = std::min(Align, MaxAlign);
|
||||
|
||||
if (PrefAlign > Align)
|
||||
Align = EnforceKnownAlignment(V, Align, PrefAlign);
|
||||
|
Loading…
x
Reference in New Issue
Block a user