As reported in <http://gcc.gnu.org/ml/gcc-patches/2004-11/msg00713.html>. We no longer do the
class initializer optimization after inlining.
A good small example:
public class t
static final int nn()
public static void main (String argv)
int n = 0;
for (int i = 0; i < 1000; i++)
n += nn();
Actually the way this used to work before the tree-ssa was during inlining we called out to the front-
end to merge the two variables.
Ada and Java bugs are not release-critical; therefore, I've removed the target
*** Bug 21044 has been marked as a duplicate of this bug. ***
This bug is obsoleted by the fix for PR java/19285.
Actually this still does not work:
i = i + 1;
if (i == 1000) goto <L4>; else goto <L1>;
I should copy and paste the full tree dump:
n = 0;
n = n + 1;
if (n == 1000) goto <L4>; else goto <L1>;
The call to _Jv_InitClass is in the inner loop which causes a slow down and use not to be able to remove