similar to: [LLVMdev] Overlapping Allocas

Displaying 20 results from an estimated 60000 matches similar to: "[LLVMdev] Overlapping Allocas"

2011 Dec 02
2
[LLVMdev] Overlapping Allocas
On 12/2/11 3:24 PM, Eli Friedman wrote: > On Fri, Dec 2, 2011 at 1:04 PM, John Criswell<criswell at illinois.edu> wrote: >> Dear All, >> >> Is there an optimization in the x86 back-end that could cause two >> alloca's to use overlapping memory? > It's theoretically possible, but IIRC there isn't any such > optimization implemented at the moment.
2011 Dec 02
1
[LLVMdev] Overlapping Allocas
On 12/2/11 4:27 PM, Eli Friedman wrote: > On Fri, Dec 2, 2011 at 2:23 PM, John Criswell<criswell at illinois.edu> wrote: >> On 12/2/11 3:24 PM, Eli Friedman wrote: >>> On Fri, Dec 2, 2011 at 1:04 PM, John Criswell<criswell at illinois.edu> >>> wrote: >>>> Dear All, >>>> >>>> Is there an optimization in the x86 back-end
2011 Dec 02
0
[LLVMdev] Overlapping Allocas
On Fri, Dec 2, 2011 at 2:23 PM, John Criswell <criswell at illinois.edu> wrote: > On 12/2/11 3:24 PM, Eli Friedman wrote: >> >> On Fri, Dec 2, 2011 at 1:04 PM, John Criswell<criswell at illinois.edu> >>  wrote: >>> >>> Dear All, >>> >>> Is there an optimization in the x86 back-end that could cause two >>> alloca's to
2011 Dec 02
0
[LLVMdev] Overlapping Allocas
On Fri, Dec 2, 2011 at 1:04 PM, John Criswell <criswell at illinois.edu> wrote: > Dear All, > > Is there an optimization in the x86 back-end that could cause two > alloca's to use overlapping memory? It's theoretically possible, but IIRC there isn't any such optimization implemented at the moment. -Eli
2013 Mar 11
0
[LLVMdev] Opt pass for collecting static memory allocations (allocas and globals) to one big memory area.
On 3/11/13 6:32 AM, Mikael Lepistö wrote: > Hi, > > I'm doing llvm pass for OpenCL code which does some memory checking to > verify that code does not access memory outside of the programs own > statically allocated areas. If you're looking to see if your program only accesses in-bounds memory, SAFECode and Address Sanitizer may be able to do this for you already. If
2013 Mar 11
2
[LLVMdev] Opt pass for collecting static memory allocations (allocas and globals) to one big memory area.
Hi, I'm doing llvm pass for OpenCL code which does some memory checking to verify that code does not access memory outside of the programs own statically allocated areas. To make dynamic check generation easier, I would like to collect all allocas and global variable definitions and create one big memory structure (for each global, local and private) containing all the allocated memory as
2012 Mar 29
2
[LLVMdev] Alloca instructions in NON-entry block?
The Kaleidoscope example here: http://llvm.org/docs/tutorial/LangImpl7.html#adjustments defines a CreateEntryBlockAlloca() helper function that "ensures that the allocas are created in the entry block of the function." It's kid of implied, but I thought I'd ask explicitly: *must* alloca instructions be created in the entry block of a function? - Paul
2012 Mar 29
0
[LLVMdev] Alloca instructions in NON-entry block?
On 3/29/12 11:32 AM, Paul J. Lucas wrote: > The Kaleidoscope example here: > > http://llvm.org/docs/tutorial/LangImpl7.html#adjustments > > defines a CreateEntryBlockAlloca() helper function that "ensures that the allocas are created in the entry block of the function." > > It's kid of implied, but I thought I'd ask explicitly: *must* alloca instructions be
2009 Oct 01
3
[LLVMdev] PHI and Allocas
Hi, I'm incrementing my toy compiler to account for variable mutations around if/else blocks. Reading the Kaleidoscope tutorial, I've learnt that I can substitute the PHI node creation by allocas and retrieving the value later, if needed. The Kaleidoscope example seems to account for one value only, the result of: Value *ThenV = Then->Codegen(); (...) Value *ElseV =
2008 Aug 13
6
[LLVMdev] Alloca Outside of Entry Block
Dear All, Is it legal to have an alloca in a basic block other than a function's entry block? -- John T.
2011 Apr 17
0
[LLVMdev] Regarding BasicBlock Cloning
On 4/16/11 7:01 PM, tarun agrawal wrote: > The clone llvm:CloneBasicBlock copies the phi function in the > replicated basic block from the original basic block. After you clone the basic block, you can probably replace the phi instruction with another value of your choice. If you're adding variables, you'll probably want to create them as allocas and use loads and stores to
2011 Apr 17
4
[LLVMdev] Regarding BasicBlock Cloning
The clone llvm:CloneBasicBlock copies the phi function in the replicated basic block from the original basic block. I don't want the copy of phi in relplicated block. For now I am creating .bc file with -O0 option so that it doesn't generate phi function in first place. Is this a good approach or there are some other function available for it. Tarun On Sun, Apr 17, 2011 at 5:22 AM, Eli
2013 Jan 22
0
[LLVMdev] llvm alloca dependencies
On 1/21/13 5:22 AM, Alexandru Ionut Diaconescu wrote: > Hello everyone ! > > I am trying to determine for certain Load instructions from my pass > their corresponding Alloca instructions (that can be in other previous > blocks). The chain can be something like : `TargetLoad(var) -> other > stores/loads that use var (or dependencies on var) -> alloca(var).` , > linked
2011 Apr 20
4
[LLVMdev] GEP vs IntToPtr/PtrToInt
I have a question about when we should apply these pointer aliasing rules. Do the rules tell us when a load/store is safe? "Any memory access must be done through a pointer value associated with an address range of the memory access, otherwise the behavior is undefined." So this means the conversion discussed here is still safe in terms of memory safety, but its meaning after conversion
2013 Jan 21
2
[LLVMdev] llvm alloca dependencies
Hello everyone ! I am trying to determine for certain Load instructions from my pass their corresponding Alloca instructions (that can be in other previous blocks). The chain can be something like : `TargetLoad(var) -> other stores/loads that use var (or dependencies on var) -> alloca(var).` , linked on several basic blocks. Do you know how can I do it? I tried to use the methods from
2004 Jul 20
1
[LLVMdev] /usr/local/src/llvm/include/Config/alloca.h:42:17: #error "The function alloca()
Hi As shown below, the .\configure script found a version of alloca(): --------------------- configure:20831: checking for working alloca.h configure:20853: gcc -o conftest -g -O2 conftest.c -ldl >&5 configure:20856: $? = 0 configure:20859: test -s conftest configure:20862: $? = 0 configure:20873: result: yes configure:20883: checking for alloca configure:20925: gcc -o conftest -g -O2
2008 Aug 14
0
[LLVMdev] Alloca Outside of Entry Block
John Criswell wrote: > Dear All, > > Is it legal to have an alloca in a basic block other than a function's > entry block? > Thanks everyone for the answers. My original question was referring to the LLVM IR and not standard C. So, the consensus seems to be that it is legal, which makes sense since LLVM supports the C alloca function. FWIW, I'm not inserting allocas
2009 Oct 12
3
[LLVMdev] Alloca Requirements
Are there any implicit assumptions about where alloca instructions can appear. I've got a failing test where the only difference between a passing test and a failing test is one application of this code in instcombine: // Convert: malloc Ty, C - where C is a constant != 1 into: malloc [C x Ty], 1 Seems pretty harmless to me. Later on the instcombine code does this: // Scan to the end of
2013 Mar 21
2
[LLVMdev] How to describe a pointer that points to All memory(include global memory, heap, stack)?
Hi, John I am building a flow sensitive intra-procedural alias analysis(without interprocedural info). So, the first thing I have to consider is where a parameter-pointer or a global-pointer might point to. Then I defined several special Virtual Memory Locations: ALL_MEMORY, GLOBAL_MEMORY, STACK_MEMORY, HEAP_MEMORY. ALL_MEMORY contains GLOBAL_MEMORY, STACK_MEMORY, HEAP_MEMORY. e.g1:
2013 Mar 13
2
[LLVMdev] How to describe a pointer that points to All memory(include global memory, heap, stack)?
Hello, could any one point me following question. e.g: void foo(int * p) { *p = 0; } Here 'p' may point to all memory location. Could you tell me how to represent the POINT TO set of 'p'? Here is my solution: Introduce a memory-class named: Global_Mem, then p pointed to global_mem. And the MOD set of '*p=0' is