search for: i_addr

Displaying 12 results from an estimated 12 matches for "i_addr".

Did you mean: __addr
2010 May 13
4
[LLVMdev] How to get the variable mapping between the source and llvm bytecode
...-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-unknown-linux-gnu" define i32 @h(i32 %j, i32 %i) nounwind { entry: %j_addr = alloca i32 ; <i32*> [#uses=2] %i_addr = alloca i32 ; <i32*> [#uses=2] %retval = alloca i32 ; <i32*> [#uses=2] %0 = alloca i32 ; <i32*> [#uses=2] %tmp = alloca i32 ; <i32*> [#uses=2] %"...
2010 May 13
0
[LLVMdev] How to get the variable mapping between the source andllvm bytecode
...64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" > target triple = "x86_64-unknown-linux-gnu" > define i32 @h(i32 %j, i32 %i) nounwind { > entry: > %j_addr = alloca i32 ; <i32*> [#uses=2] > %i_addr = alloca i32 ; <i32*> [#uses=2] > %retval = alloca i32 ; <i32*> [#uses=2] > %0 = alloca i32 ; <i32*> [#uses=2] > %tmp = alloca i32 ; <i32*> [#us...
2008 Aug 13
1
[LLVMdev] Alloca Outside of Entry Block
This is the right answer for C's alloca. The question probably referred to LLVM IR's alloca, however. On Aug 13, 2008, at 11:07 AMPDT, Mike Stump wrote: > On Aug 13, 2008, at 10:49 AM, John Criswell wrote: >> Is it legal to have an alloca in a basic block other than a >> function's entry block? > > How else could you generate code for: > > #include
2010 May 14
2
[LLVMdev] How to get the variable mapping between the sourceandllvm bytecode
...64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" >> target triple = "x86_64-unknown-linux-gnu" >> define i32 @h(i32 %j, i32 %i) nounwind { >> entry: >> %j_addr = alloca i32 ; <i32*> [#uses=2] >> %i_addr = alloca i32 ; <i32*> [#uses=2] >> %retval = alloca i32 ; <i32*> [#uses=2] >> %0 = alloca i32 ; <i32*> [#uses=2] >> %tmp = alloca i32 ; <i...
2007 Apr 27
1
[LLVMdev] Preservance of function variables in the bytecode
Hello, LLVM-Dev guys. I just wonder if function variables are preserved in the bytecode. For example, are i and j in the following function preserved in .bc? int sum(int i, int j){ int k; k = i + j; return k; } I tested this with "llc -march=c" and found this was converted to int sum(int ltmp_0_1, int ltmp_1_1) { return (ltmp_1_1 + ltmp_0_1); } Therefore, it seems
2007 Apr 27
0
[LLVMdev] Preservance of function variables in the bytecode
...c.edu> >Subject: Re: [LLVMdev] Preservance of function variables in the bytecode >To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > >This is what the llvm assembly looks like when I compile your example: > >int %sum(int %i, int %j) { >entry: > %i_addr = alloca int ; <int*> [#uses=2] > %j_addr = alloca int ; <int*> [#uses=2] > %retval = alloca int, align 4 ; <int*> [#uses=2] > %tmp = alloca int, align 4 ; <int*> [#uses=2] > %k = alloca...
2009 Jun 11
0
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
On Jun 8, 2009, at 2:42 PM, robert muth wrote: > On Sun, Jun 7, 2009 at 11:53 PM, Evan Cheng <evan.cheng at apple.com> > wrote: >> >> On Jun 7, 2009, at 6:59 AM, robert muth wrote: >> >>> On Sat, Jun 6, 2009 at 4:51 PM, Evan Cheng<evan.cheng at apple.com> >>> wrote: >>>> +cl::opt<std::string>
2009 Jun 08
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
On Sun, Jun 7, 2009 at 11:53 PM, Evan Cheng <evan.cheng at apple.com> wrote: > > On Jun 7, 2009, at 6:59 AM, robert muth wrote: > >> On Sat, Jun 6, 2009 at 4:51 PM, Evan Cheng<evan.cheng at apple.com> >> wrote: >>> +cl::opt<std::string> FlagJumpTableSection("jumptable-section", >>> +                                          
2008 Jun 28
0
[LLVMdev] need to store the address of a variable
...no address-of operator, so if you see an instruction like "%sum = add i32 %x, %y" you can't get the address of %sum (it's a register, after all). The C frontend doesn't interpret "int32_t i;" as creating an LLVM variable of type i32; it actually does "i32* %i_addr = alloca i32". LLVM's optimizers will remove the alloca and lower it to registers if nobody takes its address. I think what you're saying is that you want a pointer to a given C variable, not a given LLVM variable, which is certainly possible. > When I translate the following C...
2014 Nov 24
1
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
...catch i8* null %1 = extractvalue { i8*, i32 } %0, 0 call void @__clang_call_terminate(i8* %1) #5 unreachable } ; Function Attrs: uwtable define void @_Z13do_some_thingRi(i32* dereferenceable(4) %i) #0 { entry: %capture.block = alloca %struct.do_some_thing.capture.block, align 1 %i_addr = getelementptr inbounds %struct.do_some_thing_capture_block* %capture_block, i32 0, i32 3 store i32* %i, i32** %i_addr, align 8 llvm.eh.set_capture_block %eh.cont.label = alloca i8* %en = alloca i32, align 4 store i32* %i, i32** %i.addr, align 8 %outer = getelementptr inbounds %struct....
2008 Jun 28
2
[LLVMdev] need to store the address of a variable
Hello everybody, my problem is, that I want to get an array of pointers to all local variables in a function. This array will be used for transfering these Variables to another execution engine. I've code which generates this array, and a pointer to the target field of the array. name = variables.fname + "_pointerArray"; Instruction* pointerArray = new
2009 Jun 24
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
...t 8 +; Note one section change +; RUN: llvm-as < %s | llc -march=arm -outline-jumptables | \ +; RUN: grep .text | count 2 +; Note: has data section +; RUN: llvm-as < %s | llc -march=arm -outline-jumptables | \ +; RUN: grep .data | count 1 + + +define i32 @f(i32 %i) nounwind { +entry: + %i_addr = alloca i32 ; <i32*> [#uses=2] + %retval = alloca i32 ; <i32*> [#uses=2] + %0 = alloca i32 ; <i32*> [#uses=8] + %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] + store i32 %i, i32* %i_addr + %1 = load i32* %i_addr, align 4 ; <i32> [#uses=1] + s...