search for: loop_no_crit2

Displaying 3 results from an estimated 3 matches for "loop_no_crit2".

2006 Jul 04
0
[LLVMdev] Critical edges
...lEdgesPass()); 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 int main(int argc, char **argv) { int result = 0; int counter = argc; while(counter > 0) { if(counter % 3 == 0) { result--; } else { result++; } counter = counter - 1; } printf("Result = %d\n", result); }...
2006 Jul 04
3
[LLVMdev] Critical edges
Dear guys, I've adapted the pass in BreakCriticalEdges.cpp so I can use it before register allocation. But the pass is not changing the control flow graph of the machine function. I think it is because I am inserting the pass after the control flow graph of the machine function is built. I am inserting the pass as required by the register allocator, and I can see that the pass is
2006 Jul 04
2
[LLVMdev] Critical edges
...ver, 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 problem is the no_exit block. I think it was changed by one of the > optimization passes, and was split into three basic blocks. But now there > is a phi function where both the parameters are defined in the same basic > block. Any of you guys now which pass I should cut o...