search for: triple_str

Displaying 10 results from an estimated 10 matches for "triple_str".

2018 Apr 19
1
How to set Target/Triple of ExecutionEngine
Hi edaqa, You might need to set your TargetOptions before calling selectTarget. E.g. builder.setTargetOptions(Opts).selectTarget(...); Or you could just let EngineBuilder call selectTarget for you (which is what the no-argument version of EngineBuilder::create does): llvm::ExecutionEngine * ee = builder. setErrorStr( &errStr ). setEngineKind( llvm::EngineKind::JIT ).
2018 May 05
0
Slow IR compilation/JIT, profiling points to LLVM?
Hi, Could you share how you compile IR and which version of JIT you use (Orc, MCJIT)? Could it be that you are using interpreter instead of actual JIT? Cheers, Alex. > On 5. May 2018, at 08:04, edA-qa mort-ora-y via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > I'm having issues of my compiler, and JIT execution, of LLVM IR being > rather slow. It's accounting for
2018 Apr 19
0
A struct {i8, i64} has size == 12, clang says size 16
What exactly is your alignment settings in your LLVM struct? Something like this would tell you the alignment of "something". const llvm::DataLayout dl(theModule); size_t size = dl.getPrefTypeAlignment(something); IIn "my" compiler, I don't do anything special to align structs, so it's plausibly your specific data-layout that says that i64 only needs aligning to
2017 Sep 30
2
invalid code generated on Windows x86_64 using skylake-specific features
..._cpu_args = ZigLLVMGetHostCPUName(); target_specific_features = ZigLLVMGetNativeFeatures(); } else { target_specific_cpu_args = ""; target_specific_features = ""; } g->target_machine = LLVMCreateTargetMachine(target_ref, buf_ptr(&g->triple_str), target_specific_cpu_args, target_specific_features, opt_level, reloc_mode, LLVMCodeModelDefault); char *ZigLLVMGetHostCPUName(void) { std::string str = sys::getHostCPUName(); return strdup(str.c_str()); } char *ZigLLVMGetNativeFeatures(void) { SubtargetFeatures feature...
2018 Apr 18
2
A struct {i8, i64} has size == 12, clang says size 16
I think I see a potential issue. My ExecutionEngine setup may not be using the same target as my object code emitting, and in this test case I'm running in the ExecutionEngine.  I'll go over this code to ensure I'm creating the same triple and see if that helps -- I'm assuming it will, since I can't imagine the exact same triple with clang would produce a different layout. On
2018 May 05
4
Slow IR compilation/JIT, profiling points to LLVM?
I'm having issues of my compiler, and JIT execution, of LLVM IR being rather slow. It's accounting for the vast majority of my full compilation time.  I'm trying to figure out why this is happening, since it's becoming an impediment.  (Note: by slow I mean about 3s of time for only about 2K of my front-end code, 65K lines of LLVM-IR) Using valgrind I see some functions which seem
2017 Oct 01
1
invalid code generated on Windows x86_64 using skylake-specific features
...t; target_specific_features = ZigLLVMGetNativeFeatures(); > } else { > target_specific_cpu_args = ""; > target_specific_features = ""; > } > > g->target_machine = LLVMCreateTargetMachine(target_ref, > buf_ptr(&g->triple_str), > target_specific_cpu_args, target_specific_features, opt_level, > reloc_mode, LLVMCodeModelDefault); > > > > char *ZigLLVMGetHostCPUName(void) { > std::string str = sys::getHostCPUName(); > return strdup(str.c_str()); > } > > char *ZigLLVMGetN...
2017 Oct 03
2
invalid code generated on Windows x86_64 using skylake-specific features
...atures(); >>> } else { >>> target_specific_cpu_args = ""; >>> target_specific_features = ""; >>> } >>> >>> g->target_machine = LLVMCreateTargetMachine(target_ref, >>> buf_ptr(&g->triple_str), >>> target_specific_cpu_args, target_specific_features, >>> opt_level, reloc_mode, LLVMCodeModelDefault); >>> >>> >>> >>> char *ZigLLVMGetHostCPUName(void) { >>> std::string str = sys::getHostCPUName(); >>>...
2017 Nov 30
2
PPC64 Disassembler
...blerLLVMC::DisassemblerLLVMC(const ArchSpec &arch, const char > *flavor_string)”, > > which I couldn’t find if it’s doing correct. Is there a place that > explains the “flavor” and > > “features_str” variables used at DisassemblerLLVMC.cpp:1163 > > (“newLLVMCDisassembler(triple_str, cpu, features_str.c_str(), flavor, > *this)”)? > > > > Another question that I have is, how can I compare the data it gets with > the real instructions? > > I found the file “PPCGenDisassemblerTables.inc”, where the table is > declared, and where the it > > is deco...
2017 Nov 30
2
PPC64 Disassembler
The `isBranch` flag is already set on the branch instructions. Furthermore, we do use the `isBranch()` query in a few places in the PPC back end, so this does work. Perhaps there's something specific about the lldb usage? Is it somehow possible that the `isBranch()` query is called on the wrong instruction? Would you be able to provide a test case that reproduces the issue? On Thu, Nov 30,