[llvm-commits] CVS: llvm/lib/CodeGen/AsmPrinter.cpp
Chris Lattner
lattner at cs.uiuc.edu
Mon Aug 16 23:48:28 PDT 2004
Changes in directory llvm/lib/CodeGen:
AsmPrinter.cpp updated: 1.4 -> 1.5
---
Log message:
Add support for targets that have .quad, drop extra tab inserted
---
Diffs of the changes: (+6 -6)
Index: llvm/lib/CodeGen/AsmPrinter.cpp
diff -u llvm/lib/CodeGen/AsmPrinter.cpp:1.4 llvm/lib/CodeGen/AsmPrinter.cpp:1.5
--- llvm/lib/CodeGen/AsmPrinter.cpp:1.4 Tue Aug 17 01:36:49 2004
+++ llvm/lib/CodeGen/AsmPrinter.cpp Tue Aug 17 01:48:16 2004
@@ -31,11 +31,8 @@
void AsmPrinter::setupMachineFunction(MachineFunction &MF) {
// What's my mangled name?
CurrentFnName = Mang->getValueName((Value*)MF.getFunction());
-
}
-
-
// Print out the specified constant, without a storage class. Only the
// constants valid in constant expressions can occur here.
void AsmPrinter::emitConstantValueOnly(const Constant *CV) {
@@ -203,7 +200,9 @@
} U;
U.FVal = Val;
- if (TD.isBigEndian()) {
+ if (Data64bitsDirective)
+ O << Data64bitsDirective << U.UVal << "\n";
+ else if (TD.isBigEndian()) {
O << Data32bitsDirective << unsigned(U.UVal >> 32)
<< "\t; double most significant word " << Val << "\n";
O << Data32bitsDirective << unsigned(U.UVal)
@@ -229,7 +228,9 @@
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
uint64_t Val = CI->getRawValue();
- if (TD.isBigEndian()) {
+ if (Data64bitsDirective)
+ O << Data64bitsDirective << Val << "\n";
+ else if (TD.isBigEndian()) {
O << Data32bitsDirective << unsigned(Val >> 32)
<< "\t; Double-word most significant word " << Val << "\n";
O << Data32bitsDirective << unsigned(Val)
@@ -245,7 +246,6 @@
}
const Type *type = CV->getType();
- O << "\t";
switch (type->getTypeID()) {
case Type::UByteTyID: case Type::SByteTyID:
O << Data8bitsDirective;
More information about the llvm-commits
mailing list