[Bug tree-optimization/34176] [4.3 Regression] SCCVN breaks gettext
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Wed Nov 21 23:02:00 GMT 2007
------- Comment #1 from rguenth at gcc dot gnu dot org 2007-11-21 23:02 -------
If you look at what SCCVN does for the affected SCC then you see that iteration
converges to
Setting value number of dest_7 to dest_7
Setting value number of list_23 to list_23
Value numbering destptr_3 stmt = destptr_3 = PHI <dest_7(4), destptr_12(5)>
Setting value number of destptr_3 to destptr_3
Value numbering destptr.3_13 stmt = destptr.3_13 = (int) destptr_3;
Setting value number of destptr.3_13 to destptr.3_13
Value numbering dest.4_14 stmt = dest.4_14 = (int) dest_7;
Setting value number of dest.4_14 to destptr.3_13
Value numbering D.1217_15 stmt = D.1217_15 = destptr.3_13 - dest.4_14;
RHS destptr.3_13 - dest.4_14 simplified to 0 has constants 1
...
that is, destptr.3_13 == dest.4_14 -- but, in the final run with the correct
table in place we get
Setting value number of dest_7 to dest_7
Setting value number of list_23 to list_23
Value numbering destptr_3 stmt = destptr_3 = PHI <dest_7(4), destptr_12(5)>
Setting value number of destptr_3 to destptr_3
Value numbering destptr.3_13 stmt = destptr.3_13 = (int) destptr_3;
Setting value number of destptr.3_13 to destptr.3_13
Value numbering dest.4_14 stmt = dest.4_14 = (int) dest_7;
Setting value number of dest.4_14 to dest.4_14
Value numbering D.1217_15 stmt = D.1217_15 = destptr.3_13 - dest.4_14;
Setting value number of D.1217_15 to D.1217_15
increasing the number of iterations doesn't "fix" it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34176
More information about the Gcc-bugs
mailing list