https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80436
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
Target Milestone|--- |7.0
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This seems to go wrong during loop splitting, there is highly undesirable
change in the *.lsplit dump:
e_95 -> { e_14 }
+b.0_96 -> { b.0_16 }
Incremental SSA update started at block: 42
Number of blocks in CFG: 46
-Number of blocks to update: 5 ( 11%)
+Number of blocks to update: 10 ( 22%)
...
int _94;
+ int b.0_96;
<bb 2> [0.29%]:
...
# f_43 = PHI <f_27(6)>
# a_lsm.15_24 = PHI <a_lsm.15_38(6)>
+ # b.0_96 = PHI <b.0_16(6)>
<bb 8> [50.00%]:
# .MEM_52 = PHI <.MEM_9(7), .MEM_52(9)>
# f_51 = PHI <f_43(7), b.3_44(9)>
# a_lsm.15_50 = PHI <a_lsm.15_24(7), 0B(9)>
# a_lsm.16_49 = PHI <0(7), 1(9)>
+ # DEBUG f => f_51
+ # DEBUG D#3 => (unsigned int) b.0_96
+ # DEBUG f => D#3
That extra b.0_96 PHI has been added because there is a debug use of b.0_16 and
we want to rewrite it into loop closed SSA form.