[Mesa-dev] [PATCH] gallivm: Do not use NoFramePointerElim with LLVM 3.7

Roland Scheidegger sroland at vmware.com
Thu May 28 04:56:07 PDT 2015


I use this sometimes for debugging things in llvmpipe, so I don't think
that's a good option. Without it getting the actual assembly of the
shaders would be quite annoying.
It is unfortunately true that (due to the heavy use of the unstable C++
API) it breaks very often, but as long as it isn't possible to do that
with llvm's C API it seems unavoidable.

Roland

Am 28.05.2015 um 12:01 schrieb Marek Olšák:
> The disassemble function does more harm than good and is often the
> most often broken function after an LLVM update. Shouldn't we remove
> it to make our lives easier?
> 
> Marek
> 
> 
> On Wed, May 27, 2015 at 7:27 AM, Vinson Lee <vlee at freedesktop.org> wrote:
>> TargetOptions::NoFramePointerElim was removed in llvm-3.7.0svn r238244
>> "Remove NoFramePointerElim and NoFramePointerElimOverride from
>> TargetOptions and remove ExecutionEngine's dependence on CodeGen. NFC."
>>
>> Signed-off-by: Vinson Lee <vlee at freedesktop.org>
>> ---
>>  src/gallium/auxiliary/gallivm/lp_bld_debug.cpp | 2 ++
>>  src/gallium/auxiliary/gallivm/lp_bld_misc.cpp  | 2 ++
>>  2 files changed, 4 insertions(+)
>>
>> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
>> index be3e834..76c302f 100644
>> --- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
>> +++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
>> @@ -277,8 +277,10 @@ disassemble(const void* func, llvm::raw_ostream & Out)
>>     options.StackAlignmentOverride = 4;
>>  #endif
>>  #if defined(DEBUG) || defined(PROFILE)
>> +#if HAVE_LLVM < 0x0307
>>     options.NoFramePointerElim = true;
>>  #endif
>> +#endif
>>     OwningPtr<TargetMachine> TM(T->createTargetMachine(Triple, sys::getHostCPUName(), "", options));
>>
>>     /*
>> diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
>> index 5e8a634..ffed9e6 100644
>> --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
>> +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
>> @@ -439,8 +439,10 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
>>  #if HAVE_LLVM < 0x0304
>>     options.NoFramePointerElimNonLeaf = true;
>>  #endif
>> +#if HAVE_LLVM < 0x0307
>>     options.NoFramePointerElim = true;
>>  #endif
>> +#endif
>>
>>     builder.setEngineKind(EngineKind::JIT)
>>            .setErrorStr(&Error)
>> --
>> 2.4.1
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Vjtt0vs_iqoI31UfJxBl7yv9I2FeiaeAYgMTLKRBc_I&m=oJN3RQI6auvaC8t4GPlTvSe8h-WZYhBL7xSRhbwFgDI&s=Ht4F7y_dMUmK34b_5vMdCKunj7WvDKU8-8HWca89Ei0&e= 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Vjtt0vs_iqoI31UfJxBl7yv9I2FeiaeAYgMTLKRBc_I&m=oJN3RQI6auvaC8t4GPlTvSe8h-WZYhBL7xSRhbwFgDI&s=Ht4F7y_dMUmK34b_5vMdCKunj7WvDKU8-8HWca89Ei0&e= 
> 



More information about the mesa-dev mailing list