[llvm-commits] CVS: llvm/lib/Target/X86/X86JITInfo.cpp
Chris Lattner
lattner at cs.uiuc.edu
Fri Sep 8 10:04:10 PDT 2006
Changes in directory llvm/lib/Target/X86:
X86JITInfo.cpp updated: 1.26 -> 1.27
---
Log message:
Use __USER_LABEL_PREFIX__ to get the prefix added by the current host.
---
Diffs of the changes: (+14 -15)
X86JITInfo.cpp | 29 ++++++++++++++---------------
1 files changed, 14 insertions(+), 15 deletions(-)
Index: llvm/lib/Target/X86/X86JITInfo.cpp
diff -u llvm/lib/Target/X86/X86JITInfo.cpp:1.26 llvm/lib/Target/X86/X86JITInfo.cpp:1.27
--- llvm/lib/Target/X86/X86JITInfo.cpp:1.26 Fri Sep 8 01:48:29 2006
+++ llvm/lib/Target/X86/X86JITInfo.cpp Fri Sep 8 12:03:56 2006
@@ -39,6 +39,14 @@
/// compile a function lazily.
static TargetJITInfo::JITCompilerFn JITCompilerFunction;
+// Get the ASMPREFIX for the current host. This is often '_'.
+#ifndef __USER_LABEL_PREFIX__
+#define __USER_LABEL_PREFIX__
+#endif
+#define GETASMPREFIX2(X) #X
+#define GETASMPREFIX(X) GETASMPREFIX2(X)
+#define ASMPREFIX GETASMPREFIX(__USER_LABEL_PREFIX__)
+
// Provide a wrapper for X86CompilationCallback2 that saves non-traditional
// callee saved registers, for the fastcc calling convention.
extern "C" {
@@ -48,8 +56,8 @@
asm(
".text\n"
".align 8\n"
- ".globl _X86CompilationCallback\n"
- "_X86CompilationCallback:\n"
+ ".globl " ASMPREFIX "X86CompilationCallback\n"
+ ASMPREFIX "X86CompilationCallback:\n"
// Save RBP
"pushq %rbp\n"
// Save RSP
@@ -77,7 +85,7 @@
// JIT callee
"movq %rbp, %rdi\n" // Pass prev frame and return address
"movq 8(%rbp), %rsi\n"
- "call _X86CompilationCallback2\n"
+ "call " ASMPREFIX "X86CompilationCallback2\n"
// Restore all XMM arg registers
"movaps 112(%rsp), %xmm7\n"
"movaps 96(%rsp), %xmm6\n"
@@ -106,13 +114,8 @@
asm(
".text\n"
".align 8\n"
-#if defined(__CYGWIN__) || defined(__APPLE__) || defined(__MINGW32__)
- ".globl _X86CompilationCallback\n"
- "_X86CompilationCallback:\n"
-#else
- ".globl X86CompilationCallback\n"
- "X86CompilationCallback:\n"
-#endif
+ ".globl " ASMPREFIX "X86CompilationCallback\n"
+ ASMPREFIX "X86CompilationCallback:\n"
"pushl %ebp\n"
"movl %esp, %ebp\n" // Standard prologue
#if FASTCC_NUM_INT_ARGS_INREGS > 0
@@ -126,11 +129,7 @@
"movl 4(%ebp), %eax\n" // Pass prev frame and return address
"movl %eax, 4(%esp)\n"
"movl %ebp, (%esp)\n"
-#if defined(__CYGWIN__) || defined(__MINGW32__) || defined(__APPLE__)
- "call _X86CompilationCallback2\n"
-#else
- "call X86CompilationCallback2\n"
-#endif
+ "call " ASMPREFIX "X86CompilationCallback2\n"
"movl %ebp, %esp\n" // Restore ESP
#if FASTCC_NUM_INT_ARGS_INREGS > 0
"subl $8, %esp\n"
More information about the llvm-commits
mailing list