[llvm-commits] CVS: llvm/lib/Target/X86/X86TargetAsmInfo.cpp

Dan Gohman djg at cray.com
Thu May 3 09:39:17 PDT 2007



Changes in directory llvm/lib/Target/X86:

X86TargetAsmInfo.cpp updated: 1.39 -> 1.40
---
Log message:

Sets the section names for fixed-size constants and use the mergeable
flag for ELF on x86 so that duplicate constants can be eliminated by
the linker. This matches what GCC does with its -fmerge-constants
option, which is enabled at most -O levels.


---
Diffs of the changes:  (+5 -0)

 X86TargetAsmInfo.cpp |    5 +++++
 1 files changed, 5 insertions(+)


Index: llvm/lib/Target/X86/X86TargetAsmInfo.cpp
diff -u llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.39 llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.40
--- llvm/lib/Target/X86/X86TargetAsmInfo.cpp:1.39	Tue May  1 17:23:12 2007
+++ llvm/lib/Target/X86/X86TargetAsmInfo.cpp	Thu May  3 11:38:57 2007
@@ -107,6 +107,11 @@
     // HasDotFile - True if target asm supports .file directives.
     // bool HasDotFile; // Defaults to false.
     ReadOnlySection = "\t.section\t.rodata\n";
+    FourByteConstantSection = "\t.section\t.rodata.cst4,\"aM\", at progbits,4";
+    EightByteConstantSection = "\t.section\t.rodata.cst8,\"aM\", at progbits,8";
+    SixteenByteConstantSection =
+                             "\t.section\t.rodata.cst16,\"aM\", at progbits,16";
+    CStringSection = "\t.section\t.rodata.str1.1,\"aMS\", at progbits,1";
     PrivateGlobalPrefix = ".L";
     WeakRefDirective = "\t.weak\t";
     SetDirective = "\t.set\t";






More information about the llvm-commits mailing list