similar to: [LLVMdev] help with phi elimination/ register allocation

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] help with phi elimination/ register allocation"

2006 May 01
0
[LLVMdev] Register allocation in LLVM
On Sat, 29 Apr 2006, Fernando Magno Quintao Pereira wrote: > I want to implement the register allocation algorithm described in the > paper "Register Allocation via Coloring of Chordal Graphs, APLAS'05" in > LLVM. This is a graph coloring algorithm that can find an optimal coloring > of the interference graph in most of the cases. I've downloaded LLVM last > week,
2006 Apr 29
2
[LLVMdev] Register allocation in LLVM
Hello, all, I want to implement the register allocation algorithm described in the paper "Register Allocation via Coloring of Chordal Graphs, APLAS'05" in LLVM. This is a graph coloring algorithm that can find an optimal coloring of the interference graph in most of the cases. I've downloaded LLVM last week, and started studying the code. Basically, I have to implement: 1) A
2015 Jul 09
3
[LLVMdev] PHI Elimination in Register Allocation Pass
Good Afternoon. I am a Computer Science undergraduate student in Brazil and as completion of course work, I am developing an register allocator, using the infrastructure of the LLVM. To accomplish this task, I have based my implementation in allocators already implemented in LLVM. But a question came to me while I was researching in books and articles of compiler theory and own documentation of
2012 Jul 25
2
[LLVMdev] Question about an unusual jump instruction
Dear all, I'm working on an exploratory backend on llvm. In the instruction set I'm using I have an instruction (called DECJNZ) that decrements a register and, if the decremented value is not zero, jumps (with a relative jump) to a given offset. I've described in tablegen this instruction as follow: def DECJNZ : Instruction { let Namespace = "MyTarget"; let
2006 May 01
2
[LLVMdev] Register allocation in LLVM
On Apr 30, 2006, at 10:42 PM, Chris Lattner wrote: > On Sat, 29 Apr 2006, Fernando Magno Quintao Pereira wrote: >> I want to implement the register allocation algorithm described in >> the >> paper "Register Allocation via Coloring of Chordal Graphs, >> APLAS'05" in >> LLVM. This is a graph coloring algorithm that can find an optimal >>
2012 Jul 25
0
[LLVMdev] Question about an unusual jump instruction
On Wed, Jul 25, 2012 at 12:48 AM, Michele Scandale <michele.scandale at gmail.com> wrote: > Dear all, > > I'm working on an exploratory backend on llvm. In the instruction set I'm using > I have an instruction (called DECJNZ) that decrements a register and, if the > decremented value is not zero, jumps (with a relative jump) to a given offset. > > I've
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
2010 Oct 05
3
[LLVMdev] [LLVMDev] Phi elimination: Who does what
Aye, between all current register allocators the 'AU.addRequiredID(PHIEliminationID);' will cause phi's to be eliminated to copies, but this misses the point of my question. What I am asking, is how does stack know that the value of the variable which the resulting value of the phi is currently allocated at. For instance take the instruction: Machine Basic Block (mbb) 12 reg16666 =
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
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 >
2006 May 02
1
[LLVMdev] How to link the right libraries?
> > Hello, llvmers. Could someone explain me a little about the opt tool? I am > > having problems to load a MachineFunctionPass using opt. I have this pass: > > MachineFunctionPass's cannot be used as part of opt, they can only be used > as part of LLC. Further, you have to explicitly modify the target you are > interested in to add it to the pass manager for that
2006 May 26
1
Not able to make any calls
Hi All, I have registered "abhijit" for SIP in asterisk Server. I am able to register my softphone (SJPhone) to the server using the name "abhijit". But whenever I try to make any calls I am gettinh the following error message:- *CLI> -- Registered SIP 'abhijit' at 172.20.28.85 port 5060 expires 120 May 26 07:34:52 NOTICE[2761]: pbx.c:1738 pbx_extension_helper:
2017 Jun 15
2
LLC does not do proper copy propagation (or copy coalescing)
Hello. Could you please tell me how can I optimize with the back end (llc) the following piece of assembly code generated by llc: // NOTE: my processor accepts loops in the form of REPEAT(num_times)..END_REPEAT R0 = ... REPEAT(256) R5 = R0; // basically unnecessary reg. copy REPEAT(256) R10 = LS[R4]; R2 = LS[R5]; R4 =
2012 Jul 04
0
[LLVMdev] Assertion in PHIElimination.cpp
On Jul 4, 2012, at 5:35 AM, Philipp Brüschweiler <blei42 at gmail.com> wrote: > Hi everyone > > I'm hitting an assertion in PHIElimination.cpp:375. > > "Terminator instructions cannot use virtual registers unless" > "they are the first terminator in a block!" > > I was looking at the code around that location a bit and have not found > a
2009 Jan 08
2
[LLVMdev] Loop elimination with floating point counter.
Hi LLVM-ers, I'd like to eliminate dead loop with floating point counter using LLVM, but the following loop wasn't optimized by opt. void func() { float i; for (i = 0.0f; i < 1000.0f; i += 1.2f) { } } $ clang -emit-llvm-bc floop.c $ opt -std-compile-opts floop.bc | llvm-dis define void @func(...) nounwind { entry: br label %forinc forinc: ; preds = %forinc, %entry
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
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
2009 Jan 08
0
[LLVMdev] Loop elimination with floating point counter.
On Jan 8, 2009, at 4:36 AM, Syoyo Fujita wrote: > Hi LLVM-ers, > > I'd like to eliminate dead loop with floating point counter using > LLVM, but the following loop wasn't optimized by opt. > > void > func() { > float i; > for (i = 0.0f; i < 1000.0f; i += 1.2f) { > } > } FWIW, LLVM optimizer can eliminate this loop if i is incremented by 1.0f
2012 Sep 18
0
[LLVMdev] liveness assertion problem in llc
On Sep 18, 2012, at 1:45 PM, Bjorn De Sutter <bjorn.desutter at elis.ugent.be> wrote: > I am working on a backend for a CGRA architecture with advanced predicate support (as on EPIC machines and as first used in the OpenIMPACT compiler). Until last month, the backend was working fine, but since the r161643 commit by stoklund, my backend doesn't work anymore. I think I noticed some
2012 Jul 04
2
[LLVMdev] Assertion in PHIElimination.cpp
Hi everyone I'm hitting an assertion in PHIElimination.cpp:375. "Terminator instructions cannot use virtual registers unless" "they are the first terminator in a block!" I was looking at the code around that location a bit and have not found a reason why this assertion has to hold, except for a comment: // In our final twist, we have to decide which instruction