http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39885
Andrew Pinski changed:
What|Removed |Added
Keywords||missed-optimization
Status|UN
--- Comment #7 from rguenth at gcc dot gnu dot org 2009-04-24 15:30 ---
But in the end the different types are really the problem. Several issues
in the value-numberer though:
- throwing stmts are not value numbered
- pointers are needlessly value numbered with their types
- referen
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-04-24 15:16 ---
One thing is that for Java likely SCCVN isn't very effective for loads/stores
as:
else if (!gimple_has_lhs (stmt)
|| gimple_has_volatile_ops (stmt)
|| stmt_could_throw_p (stmt))
--- Comment #5 from rguenth at gcc dot gnu dot org 2009-04-24 15:00 ---
:
# VUSE <.MEMD.1098_46(D)>
D.254_7 = mmD.199;
#ref#1#5D.258_8 = D.254_7;
# D.270_1 = PHI <0(2), D.270_40(6)>
# D.260_2 = PHI <0(2), D.260_42(6)>
*.LJpc=1008L.0:
D.262_14 = (struct java.lang.ObjectD.33 *
--- Comment #4 from rguenth at gcc dot gnu dot org 2009-04-24 14:52 ---
# VUSE <.MEMD.1167_170>
D.827_47 = #ref#1#4.23D.819_42->lengthD.194;
D.828_49 = (unsigned intD.6) D.827_47;
if (D.828_49 <= 2)
goto ;
else
goto ;
:
# VUSE <.MEMD.1167_170>
_Jv_ThrowBadArrayInde
--- Comment #3 from aph at gcc dot gnu dot org 2009-04-24 14:46 ---
Created an attachment (id=17689)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17689&action=view)
Source file
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39885
--- Comment #2 from aph at gcc dot gnu dot org 2009-04-24 14:45 ---
Created an attachment (id=17688)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17688&action=view)
Smaller class file
--
aph at gcc dot gnu dot org changed:
What|Removed |Adde
--- Comment #1 from aph at gcc dot gnu dot org 2009-04-24 14:42 ---
Created an attachment (id=17687)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17687&action=view)
Class file
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39885