Bug 91736 - Runtime regression for SPEC2000 252.eon on Haswell around beginning of February 2019
Summary: Runtime regression for SPEC2000 252.eon on Haswell around beginning of Februa...
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 9.1.0
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
Keywords: missed-optimization
Depends on:
Blocks: spec
  Show dependency treegraph
Reported: 2019-09-11 09:50 UTC by Uroš Bizjak
Modified: 2019-09-11 13:37 UTC (History)
1 user (show)

See Also:
Target: x86_64-*-*
Known to work:
Known to fail:
Last reconfirmed: 2019-09-11 00:00:00


Note You need to log in before you can comment on or make changes to this bug.
Description Uroš Bizjak 2019-09-11 09:50:58 UTC
The SUSE SPECint2000 continuous regression tester shows a ~8% runtime
regression on Haswell around the beginning of February 2019.

[1] https://gcc.opensuse.org/gcc-old/SPEC/CINT/sb-czerny-head-64/252_eon_big.png
Comment 1 Richard Biener 2019-09-11 10:54:53 UTC
Last known good r268430, first known bad r268456.  Note it's a regression during GCC 9 development so compared to GCC 8 it's not a regression.
Comment 2 Richard Biener 2019-09-11 11:49:18 UTC
As expected it regressed with r268448 which dropped max-inline-insns-single from 400 to 200.  Honza should remember what was importrant to optimize here (but
certainly SPEC 2000 ceased to be relevant).

   5.93%          9002  eon_base.none  eon_base.none      [.] mrGrid::viewingHit
   5.57%          8478  eon_base.none  eon_base.none      [.] mrSurfaceList::viewingHit
   5.50%          8296  eon_peak.none  eon_peak.none      [.] mrSurfaceList::viewingHit
   5.17%          7789  eon_peak.none  eon_peak.none      [.] ggGridIterator<mrSurface*>::ggGridIterato
   4.34%          6533  eon_peak.none  eon_peak.none      [.] mrGrid::viewingHit
   4.18%          6332  eon_base.none  eon_base.none      [.] mrGrid::shadowHit
   3.26%          4908  eon_peak.none  eon_peak.none      [.] mrGrid::shadowHit

suggests that inlining ggGridIterator is important and missing now, likely
into viewingHit.