This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/21829] [4.1/4.2 Regression] missed jump threading after unroller
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Feb 2006 00:59:41 -0000
- Subject: [Bug tree-optimization/21829] [4.1/4.2 Regression] missed jump threading after unroller
- References: <bug-21829-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from pinskia at gcc dot gnu dot org 2006-02-11 00:59 -------
The problem with this one after Jeff's recent patches is that we have:
<L13>:;
D.1402_17 = 0;
if (D.1402_17 == 1) goto <L15>; else goto <L14>;
<L15>:;
x_18 = 1;
# x_19 = PHI <0(2), 0(3), x_18(4)>;
<L14>:;
Which causes us not to be able to the jump threading as we do a CCP in VRP and
then we get:
<bb 2>:
if (v_8 < 0) goto <L13>; else goto <L14>;
<L13>:;
D.1402_17 = 0;
goto <bb 8> (<L18>);
# x_19 = PHI <0(2)>;
<L14>:;
u_20 = 1;
ivtmp.26_21 = 1;
ivtmp.26_3 = 1;
u_14 = 1;
x_13 = 0;
if (v_8 <= 0) goto <L1>; else goto <L3>;
So we need to be able to do some CCP and some DCE before invoking VRP.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21829