[compiler-rt] r223910 - builtins: cleanup constant data section selection
Saleem Abdulrasool
compnerd at compnerd.org
Tue Dec 9 18:36:23 PST 2014
Author: compnerd
Date: Tue Dec 9 20:36:22 2014
New Revision: 223910
URL: http://llvm.org/viewvc/llvm-project?rev=223910&view=rev
Log:
builtins: cleanup constant data section selection
Each of the object formats use a different directive for selecting the constant
section. Use a macro to avoid the duplication across a number of files. Also
correct a small macro mismatch on the Windows case (HIDDEN_DIRECTIVE -> HIDDEN).
Patch by Vadim Chugunov!
Modified:
compiler-rt/trunk/lib/builtins/assembly.h
compiler-rt/trunk/lib/builtins/i386/floatdidf.S
compiler-rt/trunk/lib/builtins/i386/floatundidf.S
compiler-rt/trunk/lib/builtins/i386/floatundisf.S
compiler-rt/trunk/lib/builtins/i386/floatundixf.S
compiler-rt/trunk/lib/builtins/x86_64/floatundidf.S
compiler-rt/trunk/lib/builtins/x86_64/floatundisf.S
compiler-rt/trunk/lib/builtins/x86_64/floatundixf.S
Modified: compiler-rt/trunk/lib/builtins/assembly.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/assembly.h?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/assembly.h (original)
+++ compiler-rt/trunk/lib/builtins/assembly.h Tue Dec 9 20:36:22 2014
@@ -28,6 +28,7 @@
// tell linker it can break up file at label boundaries
#define FILE_LEVEL_DIRECTIVE .subsections_via_symbols
#define SYMBOL_IS_FUNC(name)
+#define CONST_SECTION .const
#elif defined(__ELF__)
@@ -39,10 +40,11 @@
#else
#define SYMBOL_IS_FUNC(name) .type name, at function
#endif
+#define CONST_SECTION .section .rodata
#else // !__APPLE__ && !__ELF__
-#define HIDDEN_DIRECTIVE(name)
+#define HIDDEN(name)
#define LOCAL_LABEL(name) .L ## name
#define FILE_LEVEL_DIRECTIVE
#define SYMBOL_IS_FUNC(name) \
@@ -50,6 +52,7 @@
.scl 2 SEPARATOR \
.type 32 SEPARATOR \
.endef
+#define CONST_SECTION .section .rdata,"rd"
#endif
Modified: compiler-rt/trunk/lib/builtins/i386/floatdidf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/i386/floatdidf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/i386/floatdidf.S (original)
+++ compiler-rt/trunk/lib/builtins/i386/floatdidf.S Tue Dec 9 20:36:22 2014
@@ -7,13 +7,7 @@
#ifdef __i386__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
twop52:
Modified: compiler-rt/trunk/lib/builtins/i386/floatundidf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/i386/floatundidf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/i386/floatundidf.S (original)
+++ compiler-rt/trunk/lib/builtins/i386/floatundidf.S Tue Dec 9 20:36:22 2014
@@ -17,13 +17,7 @@
#ifdef __i386__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
twop52:
Modified: compiler-rt/trunk/lib/builtins/i386/floatundisf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/i386/floatundisf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/i386/floatundisf.S (original)
+++ compiler-rt/trunk/lib/builtins/i386/floatundisf.S Tue Dec 9 20:36:22 2014
@@ -18,7 +18,7 @@
#ifdef __i386__
-.const
+CONST_SECTION
.balign 3
.quad 0x43f0000000000000
@@ -52,13 +52,7 @@ END_COMPILERRT_FUNCTION(__floatundisf)
#ifdef __i386__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
twop52:
Modified: compiler-rt/trunk/lib/builtins/i386/floatundixf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/i386/floatundixf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/i386/floatundixf.S (original)
+++ compiler-rt/trunk/lib/builtins/i386/floatundixf.S Tue Dec 9 20:36:22 2014
@@ -7,13 +7,7 @@
#ifdef __i386__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
twop52:
Modified: compiler-rt/trunk/lib/builtins/x86_64/floatundidf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/x86_64/floatundidf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/x86_64/floatundidf.S (original)
+++ compiler-rt/trunk/lib/builtins/x86_64/floatundidf.S Tue Dec 9 20:36:22 2014
@@ -17,13 +17,7 @@
#ifdef __x86_64__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
twop52:
Modified: compiler-rt/trunk/lib/builtins/x86_64/floatundisf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/x86_64/floatundisf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/x86_64/floatundisf.S (original)
+++ compiler-rt/trunk/lib/builtins/x86_64/floatundisf.S Tue Dec 9 20:36:22 2014
@@ -7,13 +7,7 @@
#ifdef __x86_64__
-#if defined(__APPLE__)
- .literal4
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
two:
Modified: compiler-rt/trunk/lib/builtins/x86_64/floatundixf.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/builtins/x86_64/floatundixf.S?rev=223910&r1=223909&r2=223910&view=diff
==============================================================================
--- compiler-rt/trunk/lib/builtins/x86_64/floatundixf.S (original)
+++ compiler-rt/trunk/lib/builtins/x86_64/floatundixf.S Tue Dec 9 20:36:22 2014
@@ -7,13 +7,7 @@
#ifdef __x86_64__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .section .rodata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
.balign 16
twop64:
@@ -42,13 +36,8 @@ END_COMPILERRT_FUNCTION(__floatundixf)
#ifdef __x86_64__
-#if defined(__APPLE__)
- .const
-#elif defined(__ELF__)
- .rdata
-#else
- .section .rdata,"rd"
-#endif
+CONST_SECTION
+
.balign 4
twop52:
.quad 0x4330000000000000
More information about the llvm-commits
mailing list