[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