[LLVMdev] Potential SimplifyCFG optimization; hammock to diamond transformation
David Tweed
david.tweed at arm.com
Tue Aug 6 08:03:12 PDT 2013
Hi,
I imagine this optimization is for FP math stuff that doesn't involve
functions which might set errno (or when we've specified we don't care about
that)?
Cheers,
Dave
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
Behalf Of Chad Rosier
Sent: 06 August 2013 15:46
To: llvmdev
Subject: [LLVMdev] Potential SimplifyCFG optimization; hammock to diamond
transformation
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/a32d1486/attachment.html>
More information about the llvm-dev
mailing list