diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86JITInfo.cpp | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/llvm/lib/Target/X86/X86JITInfo.cpp b/llvm/lib/Target/X86/X86JITInfo.cpp index 713579e6bb4..fe58ec74a25 100644 --- a/llvm/lib/Target/X86/X86JITInfo.cpp +++ b/llvm/lib/Target/X86/X86JITInfo.cpp @@ -256,7 +256,8 @@ TargetJITInfo::LazyResolverFn  X86JITInfo::getLazyResolverFunction(JITCompilerFn F) {    JITCompilerFunction = F; -#if !defined(__x86_64__) +#if (defined(__i386__) || defined(i386) || defined(_M_IX86)) && \ +  !defined(_MSC_VER) && !defined(__x86_64__)    unsigned EAX = 0, EBX = 0, ECX = 0, EDX = 0;    union {      unsigned u[3]; @@ -279,11 +280,12 @@ X86JITInfo::getLazyResolverFunction(JITCompilerFn F) {  void *X86JITInfo::emitFunctionStub(void *Fn, MachineCodeEmitter &MCE) {    // Note, we cast to intptr_t here to silence a -pedantic warning that     // complains about casting a function pointer to a normal pointer. -#if defined(__x86_64__) -  bool NotCC = Fn != (void*)(intptr_t)X86CompilationCallback; -#else +#if (defined(__i386__) || defined(i386) || defined(_M_IX86)) && \ +  !defined(_MSC_VER) && !defined(__x86_64__)    bool NotCC = (Fn != (void*)(intptr_t)X86CompilationCallback &&                  Fn != (void*)(intptr_t)X86CompilationCallback_SSE); +#else +  bool NotCC = Fn != (void*)(intptr_t)X86CompilationCallback;  #endif    if (NotCC) {      MCE.startFunctionStub(5); | 

