[Bug target/36713] [4.4 regression] r137252 breaks -O2 optimization on x86_64-unknown-linux-gnu

dfranke at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jul 3 12:46:00 GMT 2008



------- Comment #11 from dfranke at gcc dot gnu dot org  2008-07-03 12:45 -------
> I guess the assembly is different, right?

Yes, it is. Comparing *.s files from FCFLAGS="-O2 -save-temps", there are
differences in one file - though not the one suspected in comment #7.

There is one difference in the .optimized file that I could easily identify:
-  D.1935 = dummy_atom_model_inertia_tensor (this, phase);
-  __result_dummy_atom_model_rad.21 = inertia_tensor_to_rg (&D.1935);
+  D.1935 = dummy_atom_model_inertia_tensor (this, phase) [return slot
optimization];
+  __result_dummy_atom_model_rad.21 = inertia_tensor_to_rg (&D.1935) [tail
call];

And there are plenty in *.alias, e.g.:
  Aliased symbols

  -D.1935, UID D.1935, struct inertia_tensor, is addressable, score: 8, direct 
 reads: 0, direct writes: 0, indirect reads: 0, indirect writes: 2, call  
clobbered (passed to call)
  +D.1935, UID D.1935, struct inertia_tensor, is addressable, score: 0, direct
reads: 0, direct writes: 0, indirect reads: 0, indirect writes: 0

The difference file has 3000+ lines here, one could argue that the dumps are
significantly different ;)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36713



More information about the Gcc-bugs mailing list