public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
* Re: [TCWG CI] Regression caused by gcc: Add -fipa-strict-aliasing
       [not found] <665564136.5207.1639692295652@jenkins.jenkins>
@ 2021-12-21 14:39 ` Maxim Kuvyrkov
  0 siblings, 0 replies; only message in thread
From: Maxim Kuvyrkov @ 2021-12-21 14:39 UTC (permalink / raw)
  To: Jan Hubicka; +Cc: gcc-regression

Hi Jan,

This was sent out due to a bug in our CI.  Sorry for the noise.

Regards,

--
Maxim Kuvyrkov
https://www.linaro.org

> On 17 Dec 2021, at 01:04, ci_notify@linaro.org wrote:
> 
> [TCWG CI] Regression caused by gcc: Add -fipa-strict-aliasing:
> commit 16c848090f237c2398930b8c0ef75acebf4fa44d
> Author: Jan Hubicka <jh@suse.cz>
> 
>    Add -fipa-strict-aliasing
> 
> Results regressed to
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -8
> # build_abe newlib:
> -6
> # build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -5
> # benchmark -- -Os_LTO_mthumb artifacts/build-16c848090f237c2398930b8c0ef75acebf4fa44d/results_id:
> 1
> 
> from
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -8
> # build_abe newlib:
> -6
> # build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -5
> # benchmark -- -Os_LTO_mthumb artifacts/build-baseline/results_id:
> 1
> 
> THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
> 
> This commit has regressed these CI configurations:
> - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-master-arm_eabi-coremark-Os_LTO
> 
> First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/build-16c848090f237c2398930b8c0ef75acebf4fa44d/
> Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/build-5954b4d415f6424f1232c6b22a772ce184773f54/
> Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/build-baseline/
> Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/
> 
> Reproduce builds:
> <cut>
> mkdir investigate-gcc-16c848090f237c2398930b8c0ef75acebf4fa44d
> cd investigate-gcc-16c848090f237c2398930b8c0ef75acebf4fa44d
> 
> # Fetch scripts
> git clone https://git.linaro.org/toolchain/jenkins-scripts
> 
> # Fetch manifests and test.sh script
> mkdir -p artifacts/manifests
> curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/manifests/build-baseline.sh --fail
> curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/manifests/build-parameters.sh --fail
> curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/9/artifact/artifacts/test.sh --fail
> chmod +x artifacts/test.sh
> 
> # Reproduce the baseline build (build all pre-requisites)
> ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh
> 
> # Save baseline build state (which is then restored in artifacts/test.sh)
> mkdir -p ./bisect
> rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/
> 
> cd gcc
> 
> # Reproduce first_bad build
> git checkout --detach 16c848090f237c2398930b8c0ef75acebf4fa44d
> ../artifacts/test.sh
> 
> # Reproduce last_good build
> git checkout --detach 5954b4d415f6424f1232c6b22a772ce184773f54
> ../artifacts/test.sh
> 
> cd ..
> </cut>
> 
> Full commit (up to 1000 lines):
> <cut>
> commit 16c848090f237c2398930b8c0ef75acebf4fa44d
> Author: Jan Hubicka <jh@suse.cz>
> Date:   Mon Dec 13 17:29:26 2021 +0100
> 
>    Add -fipa-strict-aliasing
> 
>    gcc/ChangeLog:
> 
>    2021-12-13  Jan Hubicka  <hubicka@ucw.cz>
> 
>            * common.opt: Add -fipa-strict-aliasing.
>            * doc/invoke.texi: Document -fipa-strict-aliasing.
>            * ipa-modref.c (modref_access_analysis::record_access): Honor
>            -fipa-strict-aliasing.
>            (modref_access_analysis::record_access_lto): Likewise.
> ---
> gcc/common.opt      |  4 ++++
> gcc/doc/invoke.texi | 12 +++++++++++-
> gcc/ipa-modref.c    |  8 +++++---
> 3 files changed, 20 insertions(+), 4 deletions(-)
> 
> diff --git a/gcc/common.opt b/gcc/common.opt
> index 445a53a265c..8f8fc2f9ee7 100644
> --- a/gcc/common.opt
> +++ b/gcc/common.opt
> @@ -1945,6 +1945,10 @@ fira-algorithm=
> Common Joined RejectNegative Enum(ira_algorithm) Var(flag_ira_algorithm) Init(IRA_ALGORITHM_CB) Optimization
> -fira-algorithm=[CB|priority]	Set the used IRA algorithm.
> 
> +fipa-strict-aliasing
> +Common Var(flag_ipa_strict_aliasing) Init(1) Optimization
> +Assume strict aliasing rules apply across (uninlined) function boundaries.
> +
> Enum
> Name(ira_algorithm) Type(enum ira_algorithm) UnknownError(unknown IRA algorithm %qs)
> 
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 221c7c3ea48..80c36b9abe0 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -570,7 +570,7 @@ Objective-C and Objective-C++ Dialects}.
> -fsingle-precision-constant  -fsplit-ivs-in-unroller  -fsplit-loops@gol
> -fsplit-paths @gol
> -fsplit-wide-types  -fsplit-wide-types-early  -fssa-backprop  -fssa-phiopt @gol
> --fstdarg-opt  -fstore-merging  -fstrict-aliasing @gol
> +-fstdarg-opt  -fstore-merging  -fstrict-aliasing -fipa-strict-aliasing @gol
> -fthread-jumps  -ftracer  -ftree-bit-ccp @gol
> -ftree-builtin-call-dce  -ftree-ccp  -ftree-ch @gol
> -ftree-coalesce-vars  -ftree-copy-prop  -ftree-dce  -ftree-dominator-opts @gol
> @@ -12423,6 +12423,16 @@ int f() @{
> The @option{-fstrict-aliasing} option is enabled at levels
> @option{-O2}, @option{-O3}, @option{-Os}.
> 
> +@item -fipa-strict-aliasing
> +@opindex fipa-strict-aliasing
> +Constrols whether rules of @option{-fstrict-aliasing} are applied across
> +function boundaries.  Note that if multiple functions gets inlined into a
> +signle function the memory accesses are no longer considred to be crossing a
> +function bounday.
> +
> +The @option{-fipa-strict-aliasing} option is enabled by default and is
> +effective only in combination with @option{-fstrict-aliasing}.
> +
> @item -falign-functions
> @itemx -falign-functions=@var{n}
> @itemx -falign-functions=@var{n}:@var{m}
> diff --git a/gcc/ipa-modref.c b/gcc/ipa-modref.c
> index 2c89c63baf6..d6bd9d33278 100644
> --- a/gcc/ipa-modref.c
> +++ b/gcc/ipa-modref.c
> @@ -999,9 +999,11 @@ modref_access_analysis::record_access (modref_records *tt,
> 				       ao_ref *ref,
> 				       modref_access_node &a)
> {
> -  alias_set_type base_set = !flag_strict_aliasing ? 0
> +  alias_set_type base_set = !flag_strict_aliasing
> +			    || !flag_ipa_strict_aliasing ? 0
> 			    : ao_ref_base_alias_set (ref);
> -  alias_set_type ref_set = !flag_strict_aliasing ? 0
> +  alias_set_type ref_set = !flag_strict_aliasing
> +			   || !flag_ipa_strict_aliasing ? 0
> 			    : (ao_ref_alias_set (ref));
>   if (dump_file)
>     {
> @@ -1021,7 +1023,7 @@ modref_access_analysis::record_access_lto (modref_records_lto *tt, ao_ref *ref,
>   /* get_alias_set sometimes use different type to compute the alias set
>      than TREE_TYPE (base).  Do same adjustments.  */
>   tree base_type = NULL_TREE, ref_type = NULL_TREE;
> -  if (flag_strict_aliasing)
> +  if (flag_strict_aliasing && flag_ipa_strict_aliasing)
>     {
>       tree base;
> 
> </cut>



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-12-21 14:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <665564136.5207.1639692295652@jenkins.jenkins>
2021-12-21 14:39 ` [TCWG CI] Regression caused by gcc: Add -fipa-strict-aliasing Maxim Kuvyrkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).