This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/33315] stores not commoned by sinking
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 12 Jul 2016 13:53:27 +0000
- Subject: [Bug tree-optimization/33315] stores not commoned by sinking
- Auto-submitted: auto-generated
- References: <bug-33315-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33315
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org
Component|middle-end |tree-optimization
Summary|If condition not getting |stores not commoned by
|eliminated |sinking
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
comment#4 is long fixed (in DOM). In the original testcase the redundant
conditons are eliminated but we retain
test ()
{
int i;
<bb 2>:
i_8 = num;
if (i_8 == 1)
goto <bb 3>;
else
goto <bb 6>;
<bb 3>:
MEM[(int *)&a] = 0;
MEM[(int *)&a + 4B] = 0;
goto <bb 5>;
<bb 4>:
MEM[(int *)&a + 4B] = 0;
<bb 5>:
MEM[(int *)&a + 8B] = 0;
return;
<bb 6>:
MEM[(int *)&a] = 0;
if (i_8 == 2)
goto <bb 4>;
else
goto <bb 7>;
<bb 7>:
MEM[(int *)&a + 4B] = 0;
goto <bb 5>;
because nothing sinks the common stores and tail-merging does only obfuscate
the CFG. So this didn't really have sth to do with PR23286. But the
complaint that the if condition is not eliminated is no longer true.
transmogrifying bug.