[llvm-commits] [llvm] r169405 - /llvm/trunk/lib/ExecutionEngine/TargetSelect.cpp
Bob Wilson
bob.wilson at apple.com
Wed Dec 5 11:27:27 PST 2012
I didn't see a good way to do that.
On Dec 5, 2012, at 11:17 AM, Jim Grosbach <grosbach at apple.com> wrote:
> Ugh. OK, but a better (still hacky, but better) solution would be put the #if stuff in config.h rather than here. The problem manifests in the JIT, but LLVM_HOSTTRIPLE is wrong globally.
>
> -Jim
>
> On Dec 5, 2012, at 11:09 AM, Bob Wilson <bob.wilson at apple.com> wrote:
>
>> Author: bwilson
>> Date: Wed Dec 5 13:09:13 2012
>> New Revision: 169405
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=169405&view=rev
>> Log:
>> Adjust JIT target triple on OS X to match the current architecture.
>>
>> For OS X builds, we generate one version of config.h but then build for
>> multiple architectures. This means that the LLVM_HOSTTRIPLE setting may have
>> the wrong architecture. Adjust it dynamically to match the current
>> architecture. <rdar://problem/12715470>
>>
>> Modified:
>> llvm/trunk/lib/ExecutionEngine/TargetSelect.cpp
>>
>> Modified: llvm/trunk/lib/ExecutionEngine/TargetSelect.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/TargetSelect.cpp?rev=169405&r1=169404&r2=169405&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/ExecutionEngine/TargetSelect.cpp (original)
>> +++ llvm/trunk/lib/ExecutionEngine/TargetSelect.cpp Wed Dec 5 13:09:13 2012
>> @@ -32,8 +32,18 @@
>> // must use the host architecture.
>> if (UseMCJIT && WhichEngine != EngineKind::Interpreter && M)
>> TT.setTriple(M->getTargetTriple());
>> - else
>> + else {
>> TT.setTriple(LLVM_HOSTTRIPLE);
>> +#if defined(__APPLE__)
>> +#if defined(__LP64__)
>> + if (TT.isArch32Bit())
>> + TT = TT.get64BitArchVariant();
>> +#else
>> + if (TT.isArch64Bit())
>> + TT = TT.get32BitArchVariant();
>> +#endif
>> +#endif // APPLE
>> + }
>> return selectTarget(TT, MArch, MCPU, MAttrs);
>> }
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
More information about the llvm-commits
mailing list