[patch] Second part of pr16069

Rafael EspĂ­ndola rafael.espindola at gmail.com
Mon Jun 3 20:23:44 PDT 2013


Hi David,

The attached patch fixes the second part of pr16069. I have tested
that the original C testcase is also fixed.

The problem this time seems to be a thinko. We were assuming than in the CFG

A
 |  \
 |    B
 |  /
C

speculating the basic block B would cause only the the phi value for
the B->C edge would be speculated. That is not true, the phi's as
semantically in the edges, so if the A->B->C path is taken,  any code
needed for A->C is not executed and we have to consider it too when
deciding to speculate B.

Cheers,
Rafael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: t.patch
Type: application/octet-stream
Size: 2518 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130603/d7d9d655/attachment.obj>


More information about the llvm-commits mailing list