similar to: [LLVMdev] get maximum alignment size needed?

Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] get maximum alignment size needed?"

2013 Nov 19
1
[LLVMdev] struct alignment question
On 19/11/13 08:03, Caldarale, Charles R wrote: >> X = { a, b, c, d, e } >> Y = { c, d, e } > In general, no. If a, b, and c were char, and d was an int, using > typical C alignments, there would be one slack byte between c and d > in X, whereas there would be three in Y. You could probably force > what you want with packed structures or by playing with the data >
2013 Nov 08
1
[LLVMdev] UNREACHABLE executed at MCJIT.cpp:322!
It was the return type which was i64. I changed it also to my abi_int_size and it works now. I have to take care of a few other type translations, but it looks like MCJIT is working now. Thank you. On 08/11/13 18:12, Yaron Keren wrote: > Something must be wrong with the Function Type. Try to debug into > runFunction to see which if condition fails. > Just a guess, if this is on 64
2013 Nov 08
0
[LLVMdev] UNREACHABLE executed at MCJIT.cpp:322!
Something must be wrong with the Function Type. Try to debug into runFunction to see which if condition fails. Just a guess, if this is on 64 bit system the first argument type may be int64 but needs to be int32. Yaron 2013/11/8 edA-qa mort-ora-y <eda-qa at disemia.com> > That makes it more mysterious then since I am indeed only calling a main > function. Perhaps I have to invoke
2013 Nov 08
2
[LLVMdev] UNREACHABLE executed at MCJIT.cpp:322!
That makes it more mysterious then since I am indeed only calling a main function. Perhaps I have to invoke it a different way. Here's my call I have now: auto main = linker->getModule()->getFunction( "main" ); std::vector<llvm::GenericValue> args(2); args[0].IntVal = llvm::APInt( platform::abi_int_size, 0 ); args[1].PointerVal = nullptr; llvm::GenericValue gv =
2012 Nov 11
0
[LLVMdev] IR sizeof?
Does this help? http://nondot.org/sabre/LLVMNotes/SizeOf-OffsetOf-VariableSizedStructs.txt On 11 Nov 2012, at 10:52, edA-qa mort-ora-y <eda-qa at disemia.com<mailto:eda-qa at disemia.com>> wrote: Is there a way to get the size of a type in the IR assembly code? I know the size must be known since alloca and getelementptr both implicitly use it, but I don't see any way to get
2013 Nov 19
0
[LLVMdev] struct alignment question
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of edA-qa mort-ora-y > Subject: [LLVMdev] struct alignment question > Is a series of fields in a structure guaranteed to have the same layout > as those fields in a structure on their own? That is, can I cast a > pointer within a main structure to an equivalent type? > X = { a, b, c,
2012 Dec 30
2
[LLVMdev] alignment issue, getting corrupt double values
I can confirm that if I generate the value directly (not via a return) then the expected values are extracted from the structure. So it is perhaps a return value issue. On 30/12/12 19:04, Peng Cheng wrote: > I also saw this issue before. Llvm seems have trouble returning general > struct values from functions. One easy workaround is to use packed > struct type. > > Hope this
2013 Nov 08
0
[LLVMdev] UNREACHABLE executed at MCJIT.cpp:322!
MCJIT::runFunction supports only main-style argument passing but not other cases like the JIT. These types of arguments will work: (int, char**, char**) (int, char**) (int) (void) The general case is not supported since it requires creating a small stub function, compiling and running it on the fly, supported by JIT but not MCJIT. However, with the supported calling sequences, you can probably
2013 Nov 09
0
[LLVMdev] Error "Cannot emit physreg copy instruction"
Hey edA-qa mort-ora-y, On Sat, Nov 9, 2013 at 6:47 AM, edA-qa mort-ora-y <eda-qa at disemia.com> wrote: > I'm getting an error that I don't know how to fix. I've isolated the > input as much as I easily can. I've attached the file that produces the > problem. Just calling "llc err.ll -o err.s" generates the error. > > I'm going to try and isolate
2013 Nov 19
2
[LLVMdev] struct alignment question
Is a series of fields in a structure guaranteed to have the same layout as those fields in a structure on their own? That is, can I cast a pointer within a main structure to an equivalent type? X = { a, b, c, d, e } Y = { c, d, e } y = BitCast( StructGEP( some_x, 2 ), Y* ) Is that a valid cast? -- edA-qa mort-ora-y Leaf Creator Leaf - the language we always wanted http://leaflang.org/
2012 Dec 30
0
[LLVMdev] alignment issue, getting corrupt double values
I also saw this issue before. Llvm seems have trouble returning general struct values from functions. One easy workaround is to use packed struct type. Hope this helps. -Peng On Sunday, December 30, 2012, edA-qa mort-ora-y wrote: > I'm having an issue where a certain set of types and insert/extractvalue > are producing the incorrect values. It appears as though extractvalue >
2013 Jun 19
0
[LLVMdev] How to deal with potentially unlimited count/length symbol names?
On Wed, Jun 19, 2013 at 3:39 PM, Robinson, Paul < Paul_Robinson at playstation.sony.com> wrote: > > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Sean Silva > > Sent: Wednesday, June 19, 2013 11:45 AM > > To: edA-qa mort-ora-y > > Cc: <llvmdev at cs.uiuc.edu> > > Subject: Re: [LLVMdev] How to deal with
2013 Jun 19
2
[LLVMdev] How to deal with potentially unlimited count/length symbol names?
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Sean Silva > Sent: Wednesday, June 19, 2013 11:45 AM > To: edA-qa mort-ora-y > Cc: <llvmdev at cs.uiuc.edu> > Subject: Re: [LLVMdev] How to deal with potentially unlimited count/length symbol names? > > On Wed, Jun 19, 2013 at 1:04 AM, edA-qa mort-ora-y <eda-qa at
2013 Apr 14
1
[LLVMdev] source - target code of a pass
On 14/04/13 19:50, edA-qa mort-ora-y wrote: > I don't know if there is an explicit clone method, but you could do the > printing and then parse it again. That would effectively create a clone > of the object. It appears the "llvm" namespace has several Clone functions. Thus you should be able to do what I suggested: Clone the function, run the original through the
2013 Apr 14
2
[LLVMdev] source - target code of a pass
I don't want to do just a visual compare, i would like to manipulate, iterate, over the "old" version of the function. On 14 April 2013 11:49, edA-qa mort-ora-y <eda-qa at disemia.com> wrote: > On 14/04/13 18:40, Giacomo Tagliabue wrote: > > I want to compare a program before and after having run a FunctionPass. > > The purpose is merely didactic. What I would
2013 Jun 20
1
[LLVMdev] How to deal with potentially unlimited count/length symbol names?
if youd don't care the readabilit, you can compress the function name.... 在 2013-6-20 上午7:22,"Sean Silva" <silvas at purdue.edu>写道: > > > > On Wed, Jun 19, 2013 at 3:39 PM, Robinson, Paul < > Paul_Robinson at playstation.sony.com> wrote: > >> > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >> On Behalf Of
2012 Nov 18
0
[LLVMdev] What is a FunctionType really?
On Sun, Nov 18, 2012 at 6:40 AM, edA-qa mort-ora-y <eda-qa at disemia.com> wrote: > This may sound weird, but what exactly is a FunctionType? That is, in > terms of memory, or underlying value, what does the FunctionType > actually represent. At first I though it might be a pointer, but it is > not -- since you have to wrap a PointerType around it to use as such. > Can a
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 ).
2013 Oct 18
0
[LLVMdev] post-link Dwarf information appears wrong, works in JIT
I added several more clauses to see the result. It looks like the landing pad information is generated correctly: I get the correct number of action records, each record has a reasonable index into the type table (from 1 to 9). The encoded address increment in 4 however, which is unexpected since they are size 8 (in the JIT they increment by 8). Whatever is causing that may also be responsible for
2013 Feb 14
0
[LLVMdev] multiple LLVMContext or just one?
Hi, LLVMContext was designed to support multithreading by holding the compilation context for each thread in a separate LLVMContext. If you're building modules in parallel you definitely need one LLVMContext per thread. If you're talking about compiling multiple modules sequentially with a single context I believe that should work, though I don't know how well tested it is. I think