[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

Martin Liška  changed:

   What|Removed |Added

Summary|[12 Regression] |[12 Regression]
   |compile-time regressions|compile-time regressions
   |with generic tuning |with generic tuning since
   ||r12-7756-g27d8748df59fe6

--- Comment #3 from Martin Liška  ---
Started with r12-7756-g27d8748df59fe6, one can see it also with
x86_64-linux-gnu cross compiler:

$ ./xg++ -B. cactu.ii -c -Ofast
$ ./xg++ -v
...
Configured with: /home/marxin/Programming/gcc2/configure
--enable-languages=c,c++ --prefix=/home/marxin/bin/gcc --disable-multilib
--disable-libsanitizer --disable-bootstrap --target=aarch64-linux-gnu
--enable-checking=release

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

--- Comment #4 from Martin Liška  ---
Created attachment 52760
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52760&action=edit
Test-case

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread marxin at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

Martin Liška  changed:

   What|Removed |Added

 CC||avieira at gcc dot gnu.org,
   ||tnfchris at gcc dot gnu.org

--- Comment #5 from Martin Liška  ---
Good revision:

$ time ./xg++ -B. /home/marxin/Programming/testcases/cactu.ii -S -Ofast

real0m12.084s
user0m11.892s
sys 0m0.192s

14.49%  cc1plus   cc1plus   [.] find_hard_regno_for_1
 5.68%  cc1plus   cc1plus   [.] find_base_term
 3.83%  cc1plus   cc1plus   [.] bitmap_clear_bit
 2.98%  cc1plus   cc1plus   [.] bitmap_set_bit
 2.57%  cc1plus   libc.so.6 [.] __memset_avx2_unaligned_erms
 2.51%  cc1plus   cc1plus   [.] build_object_conflicts
 2.47%  cc1plus   cc1plus   [.] rtx_equal_for_memref_p

Bad revision:

$ time ./xg++ -B. /home/marxin/Programming/testcases/cactu.ii -S -Ofast

real0m17.969s
user0m17.772s
sys 0m0.196s

16.92%  cc1plus  cc1plus   [.] find_hard_regno_for_1
 8.67%  cc1plus  cc1plus   [.] find_base_term
 4.26%  cc1plus  cc1plus   [.] rtx_equal_for_memref_p
 3.85%  cc1plus  cc1plus   [.] memrefs_conflict_p
 2.92%  cc1plus  cc1plus   [.] find_base_term
 2.74%  cc1plus  cc1plus   [.] build_object_conflicts
 2.67%  cc1plus  cc1plus   [.] true_dependence_1

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

--- Comment #6 from Richard Biener  ---
More to the point the cited rev. doesn't look like it should change anything
for -mtune=generic.  Maybe the "generic" config is always the last one on
aarch64 and now "demeter"?  At least there doesn't seem to be explicit
"generic" configs like on x86_64.

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread tnfchris at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

--- Comment #7 from Tamar Christina  ---
(In reply to Richard Biener from comment #6)
> More to the point the cited rev. doesn't look like it should change anything
> for -mtune=generic.  Maybe the "generic" config is always the last one on
> aarch64 and now "demeter"?  At least there doesn't seem to be explicit
> "generic" configs like on x86_64.

We do have an explicit generic tuning struct, the ones with generic_* in the
name e.g. generic_tunings, but as you say, this patch doesn't change it at all.

we'll take a look.

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

--- Comment #8 from Richard Biener  ---
Most of the compile-time is spent in scheduling, so I think the scheduling
model was somehow exchanged.

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-06 Thread avieira at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

--- Comment #9 from avieira at gcc dot gnu.org ---
Found the issue, it's due to the way we encode TARGET_CPU_DEFAULT in aarch64,
it is only able to support 64 cores and we have 65 now.

Testing a work around for now and we have plans to fix this properly in GCC 13.

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

--- Comment #10 from CVS Commits  ---
The master branch has been updated by Andre Simoes Dias Vieira
:

https://gcc.gnu.org/g:5522dec054cb940fe83661b96249aa12c54c1d77

commit r12-8060-g5522dec054cb940fe83661b96249aa12c54c1d77
Author: Andre Vieira 
Date:   Fri Apr 8 15:12:23 2022 +0100

aarch64: PR target/105157 Increase number of cores TARGET_CPU_DEFAULT can
encode

This addresses the compile-time increase seen in the PR target/105157. This
was
being caused by selecting the wrong core tuning, as when we added the
latest
AArch64 the TARGET_CPU_generic tuning was pushed beyond the 0x3f mask we
used
to encode both target cpu and attributes into TARGET_CPU_DEFAULT.

gcc/ChangeLog:

PR target/105157
* config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
* config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
(TARGET_CPU_MASK): Likewise.
(TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
* config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use
TARGET_CPU_MASK.
(aarch64_get_arch): Likewise.
(aarch64_override_options): Use TARGET_CPU_NBITS.

[Bug target/105157] [12 Regression] compile-time regressions with generic tuning since r12-7756-g27d8748df59fe6

2022-04-08 Thread avieira at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105157

avieira at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from avieira at gcc dot gnu.org ---
The commit above should have fixed the issue. Let me know if you still observe
the higher compile-time in your nightlies.