similar to: [LLVMdev] Data layout hard coded for X86 target

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Data layout hard coded for X86 target"

2010 Jul 05
2
[LLVMdev] Data layout hard coded for X86 target
Chris Lattner <clattner at apple.com> writes: > On Jul 4, 2010, at 6:43 PM, Óscar Fuentes wrote: > >> In X86Subtarget.h there is a method `getDataLayout' which selects the >> data layout depending on the platform, ignoring whatever the user setted >> with Module::setDataLayout. >> >> What's the rationale for this? > > Data layout is a
2010 Jul 05
0
[LLVMdev] Data layout hard coded for X86 target
On Jul 5, 2010, at 3:31 AM, Óscar Fuentes wrote: > Chris Lattner <clattner at apple.com> writes: > >> On Jul 4, 2010, at 6:43 PM, Óscar Fuentes wrote: >> >>> In X86Subtarget.h there is a method `getDataLayout' which selects the >>> data layout depending on the platform, ignoring whatever the user setted >>> with Module::setDataLayout.
2010 Jul 05
0
[LLVMdev] Data layout hard coded for X86 target
On Jul 4, 2010, at 6:43 PM, Óscar Fuentes wrote: > In X86Subtarget.h there is a method `getDataLayout' which selects the > data layout depending on the platform, ignoring whatever the user setted > with Module::setDataLayout. > > What's the rationale for this? Data layout is a property of the target, not the program being compiled. If you don't like structure packing
2010 Jul 05
2
[LLVMdev] Data layout hard coded for X86 target
Chris Lattner <clattner at apple.com> writes: > On Jul 5, 2010, at 3:31 AM, Óscar Fuentes wrote: > >> Chris Lattner <clattner at apple.com> writes: >> >>> On Jul 4, 2010, at 6:43 PM, Óscar Fuentes wrote: >>> >>>> In X86Subtarget.h there is a method `getDataLayout' which selects the >>>> data layout depending on the
2010 Jul 05
0
[LLVMdev] Data layout hard coded for X86 target
On Jul 5, 2010, at 10:24 AM, Óscar Fuentes wrote: >> I'm not opposed to having it fail when something semantic (like the >> alignment of double) is wrong. The hints like the 'native integer >> types' should not cause it to fail. > > Then I guess that the information provided by the user through > Module::setDataLayout is used in some places instead of the
2018 Apr 19
2
How to set Target/Triple of ExecutionEngine
I don't know if I'm setting the triple of my execution engine correctly.  This is leading to an issue where a struct `{i8,i64}` is not getting the same layout as the ABI expects. I setup my engine/module like this:      llvm::SmallVector<std::string,2> mattrs;      llvm::EngineBuilder builder{ unique_ptr<llvm::Module>(module) };      llvm::ExecutionEngine * ee = builder.    
2008 Mar 27
0
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
Does this fix it? Index: lib/Target/X86/X86Subtarget.h =================================================================== --- lib/Target/X86/X86Subtarget.h (revision 48879) +++ lib/Target/X86/X86Subtarget.h (working copy) @@ -144,9 +144,12 @@ std::string getDataLayout() const { const char *p; - if (is64Bit()) - p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128"; -
2008 Mar 27
1
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
Probably better to move the discussion to a bug? Evan On Mar 27, 2008, at 9:04 AM, Duncan Sands wrote: > Does this fix it? > > Index: lib/Target/X86/X86Subtarget.h > =================================================================== > --- lib/Target/X86/X86Subtarget.h (revision 48879) > +++ lib/Target/X86/X86Subtarget.h (working copy) > @@ -144,9 +144,12 @@ > >
2018 Apr 19
0
How to set Target/Triple of ExecutionEngine
Taking one step back, I'm not clear I'm even setting the triple/DataLayout on the module correctly:     module = new llvm::Module( "test", *llvm_context );     module->setTargetTriple( platform::target->triple ); Is that enough to create an appropriate DataLayout for the module?  I don't see anyway to convert a triple to a DataLayout, so I can't call
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 ).
2016 Sep 19
3
llvm interpreter does not find function defined by addGlobalMapping
Hi, I want to use a function defined in c(++)-code from code generated by llvm. For this I use ExecutionEngine.addGlobalMapping(). I started with the JIT execution engine and everything worked, then I switched to the interpreter engine and it stopped working, but only if compiled on a Linux system. More precisely it works if I use llvm 3.8.1 + gcc (Linux) + JIT llvm 3.8.0 + mingw-gcc
2008 Feb 15
1
[LLVMdev] LLVM2.2 x64 JIT trouble on VStudio build
Hey Evan, At the point of the instructions you suggested I step through, X86ISelLowering has this state: - this 0x00000000005fe728 {VarArgsFrameIndex=-842150451 RegSaveFrameIndex=-842150451 VarArgsGPOffset=3452816845 ...} llvm::X86TargetLowering * const + llvm::TargetLowering {TM={...} TD=0x00000000008edac0
2011 Oct 05
0
[LLVMdev] LLVM IR is a compiler IR
Dan Gohman <gohman at apple.com> writes: Great post, Dan. Some comments follow. [snip] > * Target-specific ABI code. In order to interoperate with native > C ABIs, LLVM requires front-ends to emit target-specific IR. > Pretty much everyone around here has run into this. There are places where compatibility with the native C ABI is taken too far. For instance, time ago I
2010 Oct 24
0
[LLVMdev] lli : external functions and target datalayout
Jianzhou Zhao <jianzhou at seas.upenn.edu> writes: [snip] > The other question is about > target datalayout = > "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32" > > If I use this string to creat a TargetData object directly, I got an > assertion error: > >
2011 Oct 05
3
[LLVMdev] LLVM IR is a compiler IR
Hi Óscar, > There are places where compatibility with the native C ABI is taken too > far. For instance, time ago I noted that what the user sets through > Module::setDataLayout is simply ignored. it's not ignored, it's used by the IR level optimizers. That way these optimizers can know stuff about the target without having to be linked to a target backend. LLVM uses the
2011 Oct 05
0
[LLVMdev] LLVM IR is a compiler IR
Hello Dan. Duncan Sands <baldrick at free.fr> writes: >> There are places where compatibility with the native C ABI is taken too >> far. For instance, time ago I noted that what the user sets through >> Module::setDataLayout is simply ignored. > > it's not ignored, it's used by the IR level optimizers. That way these > optimizers can know stuff about the
2016 Feb 05
4
MCJit Runtine Performance
Hi Morten, Something else just occurred to me: can you share your EngineBuilder configuration lines? (http://llvm.org/docs/doxygen/html/classllvm_1_1EngineBuilder.html) In particular - are you explicitly setting the optimization level? The old JIT may have had a different default. - Lang. Sent from my iPad > On Feb 4, 2016, at 10:54 PM, Jim Grosbach via llvm-dev <llvm-dev at
2011 Oct 05
1
[LLVMdev] LLVM IR is a compiler IR
Hi Oscar, >>> There are places where compatibility with the native C ABI is taken too >>> far. For instance, time ago I noted that what the user sets through >>> Module::setDataLayout is simply ignored. >> >> it's not ignored, it's used by the IR level optimizers. That way these >> optimizers can know stuff about the target without having to
2008 Mar 27
2
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
Here you go: Starting program: /home/chandlerc/code/compilers/build/llvm-gcc/gcc/cc1 -fpreprocessed -march=k8 testcase.i -o /dev/null warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff0d5fe000 [Thread debugging using libthread_db enabled] foocc1: /home/chandlerc/code/compilers/llvm-gcc/gcc/llvm-types.cpp:81: const llvm::Type* llvm_set_type(tree_node*, const
2018 Mar 22
1
How to extract functions from Module A and put them into Module B, and generate a new IR file?
Hi all, This is Michael and very happy to share my question here! My question is, is there a way to "extract" a function from Module A and write it into another Module B, and generate two new IR files? IRBuilder seems like a workable way but I have to create instructions one by one. I am new to LLVM so don't know whether it is doable, here is my experimental code: