[llvm-commits] CVS: llvm/lib/Target/X86/Printer.cpp
Chris Lattner
lattner at cs.uiuc.edu
Mon Nov 3 13:34:01 PST 2003
Changes in directory llvm/lib/Target/X86:
Printer.cpp updated: 1.67 -> 1.68
---
Log message:
* Reformat some code
* Emit bools as 1/0 instead of true/false, fixing compilation of eon and
PR 83 & Jello/2003-11-03-GlobalBool.llx
---
Diffs of the changes: (+34 -42)
Index: llvm/lib/Target/X86/Printer.cpp
diff -u llvm/lib/Target/X86/Printer.cpp:1.67 llvm/lib/Target/X86/Printer.cpp:1.68
--- llvm/lib/Target/X86/Printer.cpp:1.67 Mon Oct 20 14:43:18 2003
+++ llvm/lib/Target/X86/Printer.cpp Mon Nov 3 13:33:45 2003
@@ -222,49 +222,41 @@
}
O << "\t";
- if (const ConstantExpr* CE = dyn_cast<ConstantExpr>(CV))
- {
- // Constant expression built from operators, constants, and
- // symbolic addrs
- O << ConstantExprToString(CE) << "\n";
- }
- else if (type->isPrimitiveType())
- {
- if (type->isFloatingPoint()) {
- // FP Constants are printed as integer constants to avoid losing
- // precision...
- double Val = cast<ConstantFP>(CV)->getValue();
- if (type == Type::FloatTy) {
- float FVal = (float)Val;
- char *ProxyPtr = (char*)&FVal; // Abide by C TBAA rules
- O << *(unsigned int*)ProxyPtr;
- } else if (type == Type::DoubleTy) {
- char *ProxyPtr = (char*)&Val; // Abide by C TBAA rules
- O << *(uint64_t*)ProxyPtr;
- } else {
- assert(0 && "Unknown floating point type!");
- }
-
- O << "\t# " << type->getDescription() << " value: " << Val << "\n";
- } else {
- WriteAsOperand(O, CV, false, false) << "\n";
- }
- }
- else if (const ConstantPointerRef* CPR = dyn_cast<ConstantPointerRef>(CV))
- {
- // This is a constant address for a global variable or method.
- // Use the name of the variable or method as the address value.
- O << Mang->getValueName(CPR->getValue()) << "\n";
- }
- else if (isa<ConstantPointerNull>(CV))
- {
- // Null pointer value
- O << "0\n";
- }
- else
- {
- assert(0 && "Unknown elementary type for constant");
+ if (const ConstantExpr* CE = dyn_cast<ConstantExpr>(CV)) {
+ // Constant expression built from operators, constants, and
+ // symbolic addrs
+ O << ConstantExprToString(CE) << "\n";
+ } else if (const ConstantBool *CB = dyn_cast<ConstantBool>(CV)) {
+ O << (CB->getValue() ? "1\n" : "0\n");
+ } else if (type->isFloatingPoint()) {
+ // FP Constants are printed as integer constants to avoid losing
+ // precision...
+ double Val = cast<ConstantFP>(CV)->getValue();
+ if (type == Type::FloatTy) {
+ float FVal = (float)Val;
+ char *ProxyPtr = (char*)&FVal; // Abide by C TBAA rules
+ O << *(unsigned int*)ProxyPtr;
+ } else if (type == Type::DoubleTy) {
+ char *ProxyPtr = (char*)&Val; // Abide by C TBAA rules
+ O << *(uint64_t*)ProxyPtr;
+ } else {
+ assert(0 && "Unknown floating point type!");
}
+
+ O << "\t# " << type->getDescription() << " value: " << Val << "\n";
+ } else if (type->isPrimitiveType()) {
+
+ WriteAsOperand(O, CV, false, false) << "\n";
+ } else if (const ConstantPointerRef* CPR = dyn_cast<ConstantPointerRef>(CV)) {
+ // This is a constant address for a global variable or method.
+ // Use the name of the variable or method as the address value.
+ O << Mang->getValueName(CPR->getValue()) << "\n";
+ } else if (isa<ConstantPointerNull>(CV)) {
+ // Null pointer value
+ O << "0\n";
+ } else {
+ assert(0 && "Unknown elementary type for constant");
+ }
}
/// isStringCompatible - Can we treat the specified array as a string?
More information about the llvm-commits
mailing list