On Wed, Aug 04, 2021 at 09:23:13AM -0500, Bill Schmidt wrote: > On 8/2/21 3:19 PM, Pat Haugen via Gcc-patches wrote:
(I reviewed this elsewhere instead of on the list... Not good, since the patch was on the list already. Sorry.) > >@@ -18885,6 +18980,10 @@ rs6000_sched_reorder (FILE *dump > >ATTRIBUTE_UNUSED, int sched_verbose, > > if (rs6000_tune == PROCESSOR_POWER6) > > load_store_pendulum = 0; > > > >+ /* Do Power10 dependent reordering. */ > >+ if (rs6000_tune == PROCESSOR_POWER10 && last_scheduled_insn) > >+ power10_sched_reorder (ready, *pn_ready - 1); > >+ > > I happened to notice that pn_ready is marked as ATTRIBUTE_UNUSED. This > predates your patch, but maybe you could clean that up too. *All* ATTRIBUTE_UNUSED instances should go away (or almost all, only those that really mean "maybe unused" can stay). The preferred way to in C++ say some argument is unused is by not naming it (or only in a comment). So instead of void f (int a ATTRIBUTE_UNUSED, int b ATTRIBUTE_UNUSED) { ... } you can say void f (int, int) { ... } or void f (int/*a*/, int/*b*/) { ... } > Can you think of any test cases we can use to demonstrate store fusion? It may be possible to make that reliable by doing a *really* simple testcase? But then it isn't testing very much :-( Segher