diff options
author | Dan Gohman <gohman@apple.com> | 2007-05-03 16:38:57 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2007-05-03 16:38:57 +0000 |
commit | 6f858e250b689038f2ff4d903f51db74632fd09a (patch) | |
tree | 8b75ef4c45aec80cb5b64e7ca2898ecbd6c1e0dc /lib/Target | |
parent | 46040234123b0a8de399fb52ba7c8cb8203d1b5f (diff) | |
download | llvm-6f858e250b689038f2ff4d903f51db74632fd09a.tar.gz llvm-6f858e250b689038f2ff4d903f51db74632fd09a.tar.bz2 llvm-6f858e250b689038f2ff4d903f51db74632fd09a.tar.xz |
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36666 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/X86/X86TargetAsmInfo.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86TargetAsmInfo.cpp b/lib/Target/X86/X86TargetAsmInfo.cpp index 85ac7a4421..67196b6f8f 100644 --- a/lib/Target/X86/X86TargetAsmInfo.cpp +++ b/lib/Target/X86/X86TargetAsmInfo.cpp @@ -107,6 +107,11 @@ X86TargetAsmInfo::X86TargetAsmInfo(const X86TargetMachine &TM) { // 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\",@progbits,4"; + EightByteConstantSection = "\t.section\t.rodata.cst8,\"aM\",@progbits,8"; + SixteenByteConstantSection = + "\t.section\t.rodata.cst16,\"aM\",@progbits,16"; + CStringSection = "\t.section\t.rodata.str1.1,\"aMS\",@progbits,1"; PrivateGlobalPrefix = ".L"; WeakRefDirective = "\t.weak\t"; SetDirective = "\t.set\t"; |