mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 15:39:06 +00:00
further simplify EmitAlignment by eliminating the
ForcedAlignBits argument, tweaking the single client of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102484 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
755824756c
commit
a7b611c10d
@ -204,17 +204,13 @@ namespace llvm {
|
||||
/// two boundary. For example, if you pass in 3 here, you will get an 8
|
||||
/// byte alignment. If a global value is specified, and if that global has
|
||||
/// an explicit alignment requested, it will unconditionally override the
|
||||
/// alignment request. However, if ForcedAlignBits is specified, this value
|
||||
/// has final say: the ultimate alignment will be the max of ForcedAlignBits
|
||||
/// and the alignment computed with NumBits and the global.
|
||||
/// alignment request.
|
||||
///
|
||||
/// The algorithm is:
|
||||
/// Align = NumBits;
|
||||
/// if (GV && GV->hasalignment) Align = GV->getalignment();
|
||||
/// Align = std::max(Align, ForcedAlignBits);
|
||||
/// if (GV && GV->hasalignment) Align = GV->getAlignment();
|
||||
///
|
||||
void EmitAlignment(unsigned NumBits, const GlobalValue *GV = 0,
|
||||
unsigned ForcedAlignBits = 0) const;
|
||||
void EmitAlignment(unsigned NumBits, const GlobalValue *GV = 0) const;
|
||||
|
||||
/// EmitBasicBlockStart - This method prints the label for the specified
|
||||
/// MachineBasicBlock, an alignment (if present) and a comment describing
|
||||
|
@ -1154,14 +1154,11 @@ void AsmPrinter::EmitLabelOffsetDifference(const MCSymbol *Hi, uint64_t Offset,
|
||||
//
|
||||
// The algorithm is:
|
||||
// Align = NumBits;
|
||||
// if (GV && GV->hasalignment) Align = GV->getalignment();
|
||||
// Align = std::max(Align, ForcedAlignBits);
|
||||
// if (GV && GV->hasalignment) Align = GV->getAlignment();
|
||||
//
|
||||
void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV,
|
||||
unsigned ForcedAlignBits) const {
|
||||
void AsmPrinter::EmitAlignment(unsigned NumBits, const GlobalValue *GV) const {
|
||||
if (GV && GV->getAlignment())
|
||||
NumBits = Log2_32(GV->getAlignment());
|
||||
NumBits = std::max(NumBits, ForcedAlignBits);
|
||||
|
||||
if (NumBits == 0) return; // No need to emit alignment.
|
||||
|
||||
|
@ -148,7 +148,7 @@ void XCoreAsmPrinter::EmitGlobalVariable(const GlobalVariable *GV) {
|
||||
llvm_unreachable("Unknown linkage type!");
|
||||
}
|
||||
|
||||
EmitAlignment(Align, GV, 2);
|
||||
EmitAlignment(Align > 2 ? Align : 2, GV);
|
||||
|
||||
unsigned Size = TD->getTypeAllocSize(C->getType());
|
||||
if (GV->isThreadLocal()) {
|
||||
|
Loading…
Reference in New Issue
Block a user