------- Comment #10 from dberlin at gcc dot gnu dot org  2007-03-09 23:48 
-------
(In reply to comment #7)
> The obvoious difference is more precise alias information:
> 
> -bar: Maximum number of VOPS needed per statement: 80
> +bar: Maximum number of VOPS needed per statement: 71

See, it was buggy before and still getting dup'd symbols into the points-to
sets.

In particular:
 80  NMT.114, UID 1780, real8[0:], is addressable, is global, call clobbered (,
is global var ), may aliases: { dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv
dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv
SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv
dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv
epsinv SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv
SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv
dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv epsinv SMT.109 dyinv dxinv dzinv
epsinv SMT.109 }

^^^^Note it's the same set of symbols repeated 14 times
vs

 5  NMT.114, UID 1780, real8[0:], is addressable, is global, call clobbered (,
is global var ), may aliases: { dyinv dxinv dzinv epsinv SMT.109 }
> 

This caused different partitioning, and this caused your performance drop.
Sorry, nothing i can do about this, there is no bug here (in fact, it just
shows that the patch removed a bug)
You need Diego to look at the partitioning algorithms to get your performance
back.


-- 

dberlin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dnovillo at gcc dot gnu dot
                   |                            |org


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

Reply via email to