[committed] fortran: Ignore unused arguments for scalarisation [PR97896]

2021-11-12 Thread Mikael Morin
Committed as r12-5192. The KIND argument of the INDEX intrinsic is a compile time constant that is used at compile time only to resolve to a kind-specific library function. That argument is otherwise completely ignored at runtime, and there is no code generated for it as the library procedure

[PATCH]AArch64 Optimize right shift rounding narrowing

2021-11-12 Thread Tamar Christina via Gcc-patches
Hi All, This optimizes right shift rounding narrow instructions to rounding add narrow high where one vector is 0 when the shift amount is half that of the original input type. i.e. uint32x4_t foo (uint64x2_t a, uint64x2_t b) { return vrshrn_high_n_u64 (vrshrn_n_u64 (a, 32), b, 32); } now

Re: [Patch] Fortran/openmp: Fix '!$omp end'

2021-11-12 Thread Jakub Jelinek via Gcc-patches
On Fri, Nov 12, 2021 at 12:01:27PM +0100, Tobias Burnus wrote: > With the attached patch, the following combined/composite > directives accept 'nowait' at 'end': I've filed https://github.com/OpenMP/spec/issues/3184 because I think OpenMP 5.2 got it wrong (and 5.1 got it wrong for the end

[wwwdocs] Document libstdc++ changes in gcc-12

2021-11-12 Thread Jonathan Wakely via Gcc-patches
Pushed to wwwdocs. --- htdocs/gcc-12/changes.html | 21 - 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/htdocs/gcc-12/changes.html b/htdocs/gcc-12/changes.html index 19947f90..5f12fb42 100644 --- a/htdocs/gcc-12/changes.html +++ b/htdocs/gcc-12/changes.html @@

Re: [AArch64] Enable generation of FRINTNZ instructions

2021-11-12 Thread Andre Simoes Dias Vieira via Gcc-patches
On 12/11/2021 10:56, Richard Biener wrote: On Thu, 11 Nov 2021, Andre Vieira (lists) wrote: Hi, This patch introduces two IFN's FTRUNC32 and FTRUNC64, the corresponding optabs and mappings. It also creates a backend pattern to implement them for aarch64 and a match.pd pattern to idiom

[committed] openmp, v2: Honor OpenMP 5.1 num_teams lower bound

2021-11-12 Thread Jakub Jelinek via Gcc-patches
On Thu, Nov 11, 2021 at 08:03:13PM +0100, Jakub Jelinek via Gcc-patches wrote: > The following patch implements what I've been talking about earlier, > honor that for explicit num_teams clause we create at least the > lower-bound (if not specified, upper-bound) teams in the league. > For host

RE: [vect-patterns] Refactor widen_plus/widen_minus as internal_fns

2021-11-12 Thread Joel Hutton via Gcc-patches
> please use #define INCLUDE_MAP before the system.h include instead. > Is it really necessary to build a new std::map for each optab lookup?! > That looks quite ugly and inefficient. We'd usually - if necessary at all - > build > a auto_vec > and .sort () and .bsearch () it. Ok, I'll rework

Re: Use modref summary to DSE calls to non-pure functions

2021-11-12 Thread Jan Hubicka via Gcc-patches
Hi, this is updated patch. It moves the summary walk checking if we can possibly suceed on dse to summary->finalize member function so it is done once per summary and refactors dse_optimize_call to be called from dse_optimize_stmt after early checks. I did not try to handle the special case of

[PATCH][PUSHED] Remove unused function.

2021-11-12 Thread Martin Liška
This one is last unused function we have, I'm going to push this as obvious. Martin, feel free to restore the function once it's used. Thanks, Martin PR tree-optimization/102497 gcc/ChangeLog: * gimple-predicate-analysis.cc (add_pred): Remove unused function: ---

[Patch 9/9, GCC, Arm] Implement arm Function target attribute 'branch-protection'.

2021-11-12 Thread Tejas Belagod via Gcc-patches
Hi, This patch is part of the series of PACBTI-M patches posted earlier https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582773.html This change adds the target function attribute 'branch-protection'. The options that it can take are the same the command-line option 'mbranch-protection'.

Re: [Patch] Fortran/openmp: Fix '!$omp end'

2021-11-12 Thread Tobias Burnus
On 11.11.21 19:01, Jakub Jelinek wrote: On Thu, Nov 11, 2021 at 06:11:23PM +0100, Tobias Burnus wrote: --- a/gcc/fortran/parse.c +++ b/gcc/fortran/parse.c ... + matchs ("end distribute parallel do simd", gfc_match_omp_end_nowait, ... + matcho ("end distribute parallel do",

Re: Basic kill analysis for modref

2021-11-12 Thread Richard Biener via Gcc-patches
On Fri, 12 Nov 2021, Jan Hubicka wrote: > > > > I wonder why we bother producing summaries for things that do not > > bind locally? The summary->kills.length () has an upper bound? > > Because of local aliases. > The size of the array is capped by param_max_modref_accesses which is > 16. > >

Re: [AArch64] Enable generation of FRINTNZ instructions

2021-11-12 Thread Richard Biener via Gcc-patches
On Thu, 11 Nov 2021, Andre Vieira (lists) wrote: > Hi, > > This patch introduces two IFN's FTRUNC32 and FTRUNC64, the corresponding > optabs and mappings. It also creates a backend pattern to implement them for > aarch64 and a match.pd pattern to idiom recognize these. > These IFN's (and optabs)

Re: [vect-patterns] Refactor widen_plus/widen_minus as internal_fns

2021-11-12 Thread Richard Biener via Gcc-patches
On Thu, 11 Nov 2021, Joel Hutton wrote: > Hi all, > > This refactor allows widening vect patterns (such as widen_plus/widen_minus) > to be represented as > either internal_fns or tree_codes and replaces the current > widen_plus/widen_minus with internal_fn versions. This refactor is split into

Re: Basic kill analysis for modref

2021-11-12 Thread Jan Hubicka via Gcc-patches
> > I wonder why we bother producing summaries for things that do not > bind locally? The summary->kills.length () has an upper bound? Because of local aliases. The size of the array is capped by param_max_modref_accesses which is 16. > > > + && summary->kills.length ()) > > + { > > +

Re: Basic kill analysis for modref

2021-11-12 Thread Richard Biener via Gcc-patches
On Thu, 11 Nov 2021, Jan Hubicka wrote: > Hi, > This patch enables optimization of stores that are killed by calls. > Modref summary is extended by array containing list of access ranges, relative > to function parameters, that are known to be killed by the function. > This array is collected

[PATCH] gcc: vxworks: fix providing stdint.h header

2021-11-12 Thread Rasmus Villemoes
Commit bbbc05957e (Arrange to preinclude yvals.h ahead of stdint on VxWorks 7) breaks the build of libstdc++ for our VxWorks 5 platform. In file included from .../gcc-build/powerpc-wrs-vxworks/libstdc++-v3/include/memory:72, from

Re: [PATCH] vect: Add bias parameter for partial vectorization

2021-11-12 Thread Robin Dapp via Gcc-patches
Hi Kewen and Richard, the attached v3 addresses the comments to v2, among others: - Rename to load_store where appropriate. - Save the adjusted length as a separate control that is used instead of loop_len with a bias != 0 and added to the loop header. - Update the costs to reflect a bias.

Introduce finalize method to modref_summary

2021-11-12 Thread Jan Hubicka via Gcc-patches
Hi, this patch adds finalize method that is called once summary is computed before it is used by optimizers. It adds convenient place to compute various flags as one for DSE Richard asked for. Bootstrapped/regtested x86_64-linux, will commit it shortly. gcc/ChangeLog: * ipa-modref.c

[PATCH] tree-optimization/103204 - fix missed valueization in VN

2021-11-12 Thread Richard Biener via Gcc-patches
The following fixes a missed valueization when simplifying a MEM[&...] combination during valueization. Bootstrapped and tested on x86_64-unknown-linux-gnu, pushed. 2021-11-12 Richard Biener PR tree-optimization/103204 * tree-ssa-sccvn.c (valueize_refs_1): Re-valueize the

Make opcodes configure depend on bfd configure

2021-11-12 Thread Alan Modra via Gcc-patches
The idea is for opcodes to be able to see whether bfd is compiled for 64-bit. A lot of --enable-targets=all libopcodes is wasted space if bfd can't load 64-bit target object files. * Makefile.def (configure-opcodes): Depend on configure-bfd. * Makefile.in: Regenerate. Applied to

<    1   2