Changes in directory llvm/lib/Target/SparcV9:
SparcV9AsmPrinter.cpp updated: 1.129 -> 1.130 --- Log message: Adjust to MachineConstantPool interface change: instead of keeping a value/alignment pair for each constant, keep a value/offset pair. --- Diffs of the changes: (+12 -2) SparcV9AsmPrinter.cpp | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) Index: llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp diff -u llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp:1.129 llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp:1.130 --- llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp:1.129 Wed Feb 8 22:22:52 2006 +++ llvm/lib/Target/SparcV9/SparcV9AsmPrinter.cpp Wed Feb 8 22:46:04 2006 @@ -216,7 +216,8 @@ if (Alignment == 0) Alignment = ConstantToAlignment(CV, TM); - O << "\t.align\t" << Alignment << "\n"; + if (Alignment != 1) + O << "\t.align\t" << Alignment << "\n"; // Print .size and .type only if it is not a string. if (const ConstantArray *CVA = dyn_cast<ConstantArray>(CV)) @@ -727,9 +728,18 @@ const std::vector<MachineConstantPoolEntry> &CP = MCP->getConstants(); enterSection(ReadOnlyData); + O << "\t.align\t" << (1 << MCP->getConstantPoolAlignment()) << "\n"; for (unsigned i = 0, e = CP.size(); i != e; ++i) { std::string cpiName = ".CPI_" + CurrentFnName + "_" + utostr(i); - printConstant(CP[i].Val, CP[i].Alignment, cpiName); + printConstant(CP[i].Val, 1, cpiName); + + if (i != e-1) { + unsigned EntSize = TM.getTargetData().getTypeSize(CP[i].Val->getType()); + unsigned ValEnd = CP[i].Offset + EntSize; + // Emit inter-object padding for alignment. + for (unsigned NumZeros = CP[i+1].Offset-ValEnd; NumZeros; --NumZeros) + O << "\t.byte 0\n"; + } } enterSection(Text); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits