[llvm-commits] [llvm] r93992 - in /llvm/trunk: lib/CodeGen/AsmPrinter/AsmPrinter.cpp test/CodeGen/PIC16/globals.ll test/CodeGen/X86/remat-scalar-zero.ll
Chris Lattner
sabre at nondot.org
Tue Jan 19 23:19:20 PST 2010
Author: lattner
Date: Wed Jan 20 01:19:19 2010
New Revision: 93992
URL: http://llvm.org/viewvc/llvm-project?rev=93992&view=rev
Log:
emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1,
for tidiness.
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/trunk/test/CodeGen/PIC16/globals.ll
llvm/trunk/test/CodeGen/X86/remat-scalar-zero.ll
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp?rev=93992&r1=93991&r2=93992&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Wed Jan 20 01:19:19 2010
@@ -700,9 +700,7 @@
void AsmPrinter::EOL(const Twine &Comment) const {
if (VerboseAsm && !Comment.isTriviallyEmpty()) {
O.PadToColumn(MAI->getCommentColumn());
- O << MAI->getCommentString()
- << ' '
- << Comment;
+ O << MAI->getCommentString() << ' ' << Comment;
}
O << '\n';
}
@@ -1212,7 +1210,7 @@
/// EmitGlobalConstant - Print a general LLVM constant to the .s file.
void AsmPrinter::EmitGlobalConstant(const Constant *CV, unsigned AddrSpace) {
- if (CV->isNullValue() || isa<UndefValue>(CV)) {
+ if (isa<ConstantAggregateZero>(CV) || isa<UndefValue>(CV)) {
uint64_t Size = TM.getTargetData()->getTypeAllocSize(CV->getType());
return OutStreamer.EmitZeros(Size, AddrSpace);
}
@@ -1250,6 +1248,7 @@
if (const ConstantVector *V = dyn_cast<ConstantVector>(CV))
return EmitGlobalConstantVector(V, AddrSpace, *this);
+ // ConstantExpr case.
printDataDirective(CV->getType(), AddrSpace);
EmitConstantValueOnly(CV);
O << '\n';
@@ -1307,19 +1306,17 @@
if (CurDLT.getScope().isNull())
return;
- if (BeforePrintingInsn) {
- if (CurDLT.getNode() != PrevDLT) {
- unsigned L = DW->RecordSourceLine(CurDLT.getLineNumber(),
- CurDLT.getColumnNumber(),
- CurDLT.getScope().getNode());
- printLabel(L);
- O << '\n';
- DW->BeginScope(MI, L);
- PrevDLT = CurDLT.getNode();
- }
- } else {
+ if (!BeforePrintingInsn) {
// After printing instruction
DW->EndScope(MI);
+ } else if (CurDLT.getNode() != PrevDLT) {
+ unsigned L = DW->RecordSourceLine(CurDLT.getLineNumber(),
+ CurDLT.getColumnNumber(),
+ CurDLT.getScope().getNode());
+ printLabel(L);
+ O << '\n';
+ DW->BeginScope(MI, L);
+ PrevDLT = CurDLT.getNode();
}
}
Modified: llvm/trunk/test/CodeGen/PIC16/globals.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/PIC16/globals.ll?rev=93992&r1=93991&r2=93992&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/PIC16/globals.ll (original)
+++ llvm/trunk/test/CodeGen/PIC16/globals.ll Wed Jan 20 01:19:19 2010
@@ -2,7 +2,8 @@
@G1 = global i32 4712, section "Address=412"
; CHECK: @G1.412..user_section.# IDATA 412
-; CHECK: @G1 dl 4712
+; CHECK: @G1
+; CHECK: dl 4712
@G2 = global i32 0, section "Address=412"
; CHECK: @G2.412..user_section.# UDATA 412
@@ -10,6 +11,7 @@
@G3 = addrspace(1) constant i32 4712, section "Address=412"
; CHECK: @G3.412..user_section.# ROMDATA 412
-; CHECK: @G3 rom_dl 4712
+; CHECK: @G3
+; CHECK: rom_dl 4712
Modified: llvm/trunk/test/CodeGen/X86/remat-scalar-zero.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/remat-scalar-zero.ll?rev=93992&r1=93991&r2=93992&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/remat-scalar-zero.ll (original)
+++ llvm/trunk/test/CodeGen/X86/remat-scalar-zero.ll Wed Jan 20 01:19:19 2010
@@ -1,7 +1,7 @@
; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu > %t
; RUN: not grep xor %t
; RUN: not grep movap %t
-; RUN: grep {\\.zero} %t
+; RUN: grep {\\.quad.*0} %t
; Remat should be able to fold the zero constant into the div instructions
; as a constant-pool load.
More information about the llvm-commits
mailing list