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...