[LLVMdev] Potential SimplifyCFG optimization; hammock to diamond transformation
Chad Rosier
chad.rosier at gmail.com
Tue Aug 6 07:46:19 PDT 2013
All,
I have some code that looks like the following:
{
double a, b, c;
for (...) {
...
a = lots of FP math;
b = lots of FP math;
c = lots of FP math;
if (cond) {
a = 0.0;
b = 0.1;
c = 0.2;
}
...
}
}
Could we not convert the hammock into a diamond and move the initial
computation of a, b, and c into the else block. Something like this:
{
double a, b, c;
for (...) {
...
if (cond) {
a = 0.0;
b = 0.1;
c = 0.2;
} else {
a = lots of FP math;
b = lots of FP math;
c = lots of FP math;
}
...
}
}
Does a similar optimization exist? If not, would the SimplifyCFG pass be
an appropriate home for such an optimization?
Chad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130806/68c360f0/attachment.html>
More information about the llvm-dev
mailing list