Changes in directory llvm/lib/CodeGen:
AsmPrinter.cpp updated: 1.46 -> 1.47 --- Log message: make sure that global doubles are aligned to 8 bytes --- Diffs of the changes: (+10 -5) AsmPrinter.cpp | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) Index: llvm/lib/CodeGen/AsmPrinter.cpp diff -u llvm/lib/CodeGen/AsmPrinter.cpp:1.46 llvm/lib/CodeGen/AsmPrinter.cpp:1.47 --- llvm/lib/CodeGen/AsmPrinter.cpp:1.46 Sat Feb 4 19:29:18 2006 +++ llvm/lib/CodeGen/AsmPrinter.cpp Sat Feb 4 19:46:49 2006 @@ -179,11 +179,16 @@ if (GV->getAlignment() > (1U << Alignment)) Alignment = Log2_32(GV->getAlignment()); - if (GV->hasInitializer() && Alignment < 4) { - // If the global is not external, see if it is large. If so, give it a - // larger alignment. - if (TM.getTargetData().getTypeSize(GV->getType()->getElementType()) > 128) - Alignment = 4; // 16-byte alignment. + if (GV->hasInitializer()) { + // Always round up alignment of global doubles to 8 bytes. + if (GV->getType()->getElementType() == Type::DoubleTy && Alignment < 3) + Alignment = 3; + if (Alignment < 4) { + // If the global is not external, see if it is large. If so, give it a + // larger alignment. + if (TM.getTargetData().getTypeSize(GV->getType()->getElementType()) > 128) + Alignment = 4; // 16-byte alignment. + } } return Alignment; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits