search for: lbb1_8

Displaying 6 results from an estimated 6 matches for "lbb1_8".

Did you mean: lbb1_1
2006 Jul 09
2
[LLVMdev] Critical edges
Dear guys, I am having problem to split edges correctly. Mostly because the new basic blocks are creating infinite loops. Could someone help me fixing the code below? It is creating assembly like this one below. Block LBB1_9 was inserted to break the critical edge between blocks LBB1_3 and LBB1_8. But it changes the semantics of the original program, because, before, LBB1_8 was falling through LBB1_4, and now it is falling on LBB1_9. LBB1_3: ;no_exit lis r4, 21845 ori r4, r4, 21846 mulhw r4, r2, r4 addi r5, r2, -1 li r6, -1 srwi r6, r4, 31...
2006 Jul 09
0
[LLVMdev] Critical edges
...; I am having problem to split edges correctly. Mostly because the new > basic blocks are creating infinite loops. Could someone help me fixing the > code below? It is creating assembly like this one below. Block LBB1_9 was > inserted to break the critical edge between blocks LBB1_3 and LBB1_8. But > it changes the semantics of the original program, because, before, LBB1_8 > was falling through LBB1_4, and now it is falling on LBB1_9. > > LBB1_3: ;no_exit > lis r4, 21845 > ori r4, r4, 21846 > mulhw r4, r2, r4 > addi r5, r2, -1 >...
2006 Jul 05
0
[LLVMdev] Critical edges
> If you don't want critical edges in the machine code CFG, you're going to > have to write a machine code CFG critical edge splitting pass: LLVM > doesn't currently have one. > > -Chris Hey guys, I've coded a pass to break the critical edges of the machine control flow graph. The program works fine, but I am sure it is not the right way of implementing it.
2006 Jul 04
2
[LLVMdev] Critical edges
On Tue, 4 Jul 2006, Fernando Magno Quintao Pereira wrote: > However, it does not remove all the critical edges. I am getting a very > weird dataflow graph (even without the Break Critical edges pass). The > dataflow generated by MachineFunction::dump() for the program below is > given here: > http://compilers.cs.ucla.edu/fernando/projects/soc/images/loop_no_crit2.pdf ... > The
2009 Dec 11
2
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
Hi, Chris > That is target independent code, so you should not put sparc specific changes there.  It sounds like one of the sparc-specific target hooks is wrong. Since sparc does not provide any hooks for operation of branches (e.g. AnalyzeBranch and friends) it might be possible that generic codegen code is broken in absence of these hooks. -- With best regards, Anton Korobeynikov Faculty
2010 Feb 08
2
[LLVMdev] How to check for "SPARC code generation" in MachineBasicBlock.cpp?
...! %bb ! in Loop: Header=BB1_2 Depth=2 sethi 1856, %l5 or %g0, 1, %l6 sll %l6, %l3, %l3 or %l5, 1, %l5 and %l3, %l5, %l3 subcc %l3, 0, %l3 bne .LBB1_8 nop ba .LBB1_68 nop ! BB#8: ! %bb1 ! in Loop: Header=BB1_2 Depth=2 ld [%fp+-212], %l3 and %l3, 255, %l3 .Llabel18: subcc %l3, 1, %l3...