similar to: [LLVMdev] PHI nodes

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] PHI nodes"

2010 Apr 20
1
[LLVMdev] PHI nodes
Nick Lewycky <nicholas <at> mxc.ca> writes: > > Pedro Ferreira wrote: > > Hello, > > > > I am trying to write a LLVM backend for a school project using only > > custom code (as with the CBackend) and I'm having difficulties > > handling the PHI nodes from LLVM asm code. Is there any pass we can do > > before my custom Module Pass to
2010 Apr 19
0
[LLVMdev] PHI nodes
Pedro Ferreira wrote: > Hello, > > I am trying to write a LLVM backend for a school project using only > custom code (as with the CBackend) and I'm having difficulties > handling the PHI nodes from LLVM asm code. Is there any pass we can do > before my custom Module Pass to remove the PHI nodes? Try the Reg2Mem pass. http://llvm.org/docs/Passes.html#reg2mem Nick
2011 May 17
1
[LLVMdev] eliminate phi nodes, reduce unnecessary loads / stores , reg2mem, mem2reg
Hi, I work on a pass that requires as input LLVM code without any phi nodes. For this, I use the reg2mem pass which produces suitable code, the pass runs correctly, but I obtain a significant performance decrease. I expect that this is because there are more reads / writes to memory after running the reg2mem pass. How can I optimize the code, without inserting any phi nodes? Or is there a
2012 Aug 20
2
[LLVMdev] How to eliminate PHI nodes on pointer types?
Somewhere during optimization PHI nodes on pointer types (including alloca instructions) are being introduced, and they persist through the scalar replacement of aggregates pass and others. I can't seem to find a combination of passes or transformations to get rid of them. Has anyone had this problem before, and know a transformation to eliminate it? My optimization passes rely on
2011 May 30
1
[LLVMdev] Reg2mem: Identifying introduced memory locations (also, what happens to the phi nodes)
Hi. Im exploring `opt -reg2mem` output for a simple C program (actually, that is this snippet: http://rosettacode.org/wiki/Dining_philosophers#C - compiled with clang -O1) and got two questions regarding this pass. 1. How would I tell which memory locations were introduced by the pass, and which memory locations were present in the original program? After a brief diffing of .ll files, I'd
2011 Jan 23
2
[LLVMdev] Undoing SSA and Phi instructions
Hi, I am emitting llvm bit code using llvm-gcc -c -emit-llvm -O0 -o test.bc test.c and then optimizing it with opt -O3 -print-module test.bc in order to obtain a dump of generated IR. The resulting code has Phi nodes and is perhaps in SSA form. I want to undo the SSA form while retaining all the other optimizations. Is mem2reg the right optimization to be added after -O3, i.e., opt -O3
2011 Jan 23
0
[LLVMdev] Undoing SSA and Phi instructions
On 01/22/2011 10:30 PM, Surinder wrote: > Hi, > > I am emitting llvm bit code using > > llvm-gcc -c -emit-llvm -O0 -o test.bc test.c > > and then optimizing it with > > opt -O3 -print-module test.bc > > in order to obtain a dump of generated IR. > > > The resulting code has Phi nodes and is perhaps in SSA form. I want > to undo the SSA form while
2011 Dec 06
8
[LLVMdev] GetElementPtr
Does a transform exist to breakdown the GEP? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111206/e88dddfe/attachment.html>
2011 Dec 08
0
[LLVMdev] GetElementPtr
Do you think I could use the SelectionDAGBuilder in a pass to accomplish this for me? if there is already code that does this I don't really think I should have to do this again, unless it's not possible to access that code from the stage where I want to use it? On Thu, Dec 8, 2011 at 12:56 AM, Pedro Ferreira <pedro.ferreira at imgtec.com>wrote: > I was unaware of its removal.
2011 Dec 08
1
[LLVMdev] Fwd: GetElementPtr
---------- Forwarded message ---------- From: Ryan Taylor <ryta1203 at gmail.com> Date: Thu, Dec 8, 2011 at 11:13 AM Subject: Re: [LLVMdev] GetElementPtr To: Reid Kleckner <reid.kleckner at gmail.com> There is no support for gep, it's my understanding that it's target-independent, so there's no reason to put the lowering in the target lowering portion is there?
2012 Aug 20
1
[LLVMdev] How to eliminate PHI nodes on pointer types?
On 08/20/2012 03:46 PM, Duncan Sands wrote: > Hi Andrew, > >> Somewhere during optimization PHI nodes on pointer types (including >> alloca instructions) are being introduced, and they persist through the >> scalar replacement of aggregates pass and others. I can't seem to find >> a combination of passes or transformations to get rid of them. Has >> anyone
2011 Aug 31
2
[LLVMdev] Getting rid of phi instructions?
On 31.8.2011, at 11.41, Eli Friedman wrote: > Mmm... reg2mem will transform IR with PHI's into IR without them, but > it generates a bunch of alloca's, which I would assume are not cheap > to lower to VHDL. You might have to write your own pass to get the > precise transformation you're looking for. Right. Thanks. I need to see the reg2mem source code. Teemu
2010 Sep 17
0
[LLVMdev] Accurate garbage collection
On Fri, 2010-09-17 at 12:16 +0100, David Given wrote: > On 17/09/10 09:55, Pedro Ferreira wrote: > > As I understand it, LLVM simply gives you support for garbage collectors > > that you have to implement yourself and link into the final binary, > > similar to what C's malloc does (it's a library call). The issue with > > GC's is that they need to be provided
2010 Sep 17
6
[LLVMdev] Accurate garbage collection
On 17/09/10 09:55, Pedro Ferreira wrote: > As I understand it, LLVM simply gives you support for garbage collectors > that you have to implement yourself and link into the final binary, > similar to what C's malloc does (it's a library call). The issue with > GC's is that they need to be provided info about the stack, thats where > LLVM's support comes in. Are there
2011 Dec 08
0
[LLVMdev] GetElementPtr
Or is it in the docs such that when you use the word "independent", you really mean "independent of a particular target" and not actually "target independent"? On Thu, Dec 8, 2011 at 11:18 AM, Ryan Taylor <ryta1203 at gmail.com> wrote: > > > ---------- Forwarded message ---------- > From: Ryan Taylor <ryta1203 at gmail.com> > Date: Thu,
2015 Apr 22
3
[LLVMdev] what is the Line number of Phi Node with addr2line
reg2mem does not eliminate phi nodes the way codegen does, it just converts ssa values to non-ssa values. It's not the same thing. On Tue, Apr 21, 2015 at 10:14 PM, Eric Lu <eirc.lew at gmail.com> wrote: > By the way. When I remove these phi nodes with -reg2mem, some new load > operations will be inserted, but when I try cache load operations with: > visitFunction >
2015 Apr 22
3
[LLVMdev] what is the Line number of Phi Node with addr2line
Hi, Daniel I want to profile load/store operations, in order to reduce the overhead of profiling, I try to instrument the optimized llvm ir, which has phi nodes. BTW, when the value of some load/store operations may have multi-source, then the load will be translated into phi nodes, and all phi nodes are placed in the front of BB. Sometimes, the position is not where the load happens, is there
2011 Aug 31
4
[LLVMdev] Getting rid of phi instructions?
On 30.8.2011, at 19.19, Eli Friedman wrote: > reg2mem won't do quite this transformation... not sure exactly what you need. I need to get rid of phis. This code is compiled from C++ and for some functions there are no phis, but multiple call instructions. I am targeting hardware in the end, and the next tool reading the IR does not like phis when it's generating VHDL. My questions may
2011 Aug 31
0
[LLVMdev] Getting rid of phi instructions?
On Wed, Aug 31, 2011 at 2:35 AM, Teemu Rinta-aho <teemu.rinta-aho at nomadiclab.com> wrote: > On 31.8.2011, at 11.41, Eli Friedman wrote: > >> Mmm... reg2mem will transform IR with PHI's into IR without them, but >> it generates a bunch of alloca's, which I would assume are not cheap >> to lower to VHDL.  You might have to write your own pass to get the
2007 Dec 07
1
Wine Problem
I dont know if this is the wright mailing list but here it goes I wanted to use wine so that i can avoid purchasing 70 XP licences I installed a software that talks with the informix client 2.7.0 everything was running fine, the instalation went with minor problems. Until now when i stated a connection to the informix server wine simply stops the comand