Re: [PATCH] aix: remove libgomp and libatomic archives before creating FAT archives

2020-10-10 Thread David Edelsohn via Gcc-patches
It also is confusing for the patch to perform $(ARX) -X32_64 when immediately before the fragment created ARX by explicitly stripping -X32_64. If it's going to perform ar -X32_64 it should use the normal $(AR) variable. Thanks, David On Thu, Oct 8, 2020 at 5:06 AM CHIGOT, CLEMENT wrote: > >

[committed][nvptx] Replace dots in function names

2020-10-10 Thread Tom de Vries
Hi, When function splitting clones a function sinf in the host compiler, the clone is callled sinf.part.0. However, ptx does not allows dots in identifiers, so we run into: ... ptxas test.o, line 23; fatal : Parsing error near '.part': syntax error ptxas fatal : Ptx assembly aborted due to er

[committed][nvptx] Factor out write_fn_proto_1

2020-10-10 Thread Tom de Vries
Hi, Factor out write_fn_proto_1 from write_fn_proto. Tested check-gcc on nvptx. Tested libgomp on x86_64-linux with nvptx accelerator. Committed to trunk. Thanks, - Tom [nvptx] Factor out write_fn_proto_1 gcc/ChangeLog: 2020-10-10 Tom de Vries * config/nvptx/nvptx.c (write_fn_pr

[committed] libstdc++: Replace use of reserved name that clashes [PR 97362]

2020-10-10 Thread Jonathan Wakely via Gcc-patches
The name __deref is defined as a macro by Windows headers. This renames the __deref() helper function to __ref. It doesn't actually dereference an iterator. it just has the same type as the iterator's reference type. libstdc++-v3/ChangeLog: PR libstdc++/97362 * doc/html/manual/so

Re: [PATCH] aix: remove libgomp and libatomic archives before creating FAT archives

2020-10-10 Thread David Edelsohn via Gcc-patches
This solution doesn't really appeal to me, but there aren't any good options. AIX caches shared objects in memory for faster startup. If the archive file permissions do not include read-other (world readable), the shared object is not cached. But using this option might cause permission problem

Improve tree-ssa-alias dump files

2020-10-10 Thread Jan Hubicka
Hi, this patch improves debug info of modref so it is easier to track down misoptimizations. Bootstrapped/regtested x86_64-linux, comitted. Honza gcc/ChangeLog: 2020-10-10 Jan Hubicka * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Improve debug dumps. (call_may_clobber_ref

[pushed] Objective-C, Darwin : Compute super refs directly.

2020-10-10 Thread Iain Sandoe
Hi, The current code assumed that super refs could be computed indirectly, i.e. that the metadata generated by the compiler was immutable by the runtime. This does not always hold (it depends on the NeXT runtime version). So, compute super refs directly. tested across the Darwin supported range,

[pushed] Darwin : Only emit Objective-C section switches for older linkers.

2020-10-10 Thread Iain Sandoe
Hi At one time, the system linkers needed to have at least a dummy entry for every Objective-C section in use. This removes the extra emitted code when it is not needed by the linker. tested across the supported Darwin range, and on x86_64-linux, pushed to master, thanks Iain gcc/ChangeLog:

[pushed] Objective-C, Darwin : Update metadata section uses.

2020-10-10 Thread Iain Sandoe
Hi, Newer versions of ld64 are more picky about adherence to placement rules for objective c metadata. This adds protocol refs and uses the ivar refs for all targets. tested across the Darwin supported range (and on x86_64-linux) pushed to master, thanks Iain gcc/ChangeLog: * config/da

[pushed] Darwin : Begin rework of zero-fill sections.

2020-10-10 Thread Iain Sandoe
Hi, Much of the existing work in the Darwin BSS and common sections was to accommodate the PowerPC section anchors. We want to segregate this, since it might become desirable to support section anchors for arm64. First revision (here) is to use the same section conventions as the Xcode toocha

Re: [PATCH] x86-64: Check CMPXCHG16B for x86-64-v[234]

2020-10-10 Thread H.J. Lu via Gcc-patches
On Fri, Oct 9, 2020 at 6:17 AM H.J. Lu wrote: > > x86-64-v2 includes CMPXCHG16B. Since -mcx16 enables CMPXCHG16B and > defines __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, check it in x86-64-v[234] > tests. > > PR target/97250 > * gcc.target/i386/x86-64-v2.c: Verify that > __GCC_H

Re: [PATCH] libstdc++: Diagnose visitors with different return types [PR95904]

2020-10-10 Thread Ville Voutilainen via Gcc-patches
On Sat, 10 Oct 2020 at 13:52, Jonathan Wakely wrote: > index_sequence uses size_t not unsigned long. This parameter pack > needs to be size_t... _Idxs, and the NTTP for __check_visitor_result > should be size_t _Idx. Fixed in https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=02cbd79e4728319e0887ad77

Re: [PATCH] libstdc++: Diagnose visitors with different return types [PR95904]

2020-10-10 Thread Jonathan Wakely via Gcc-patches
On 05/10/20 22:35 +0300, Ville Voutilainen via Libstdc++ wrote: On Mon, 5 Oct 2020 at 01:15, Ville Voutilainen wrote: The patch is borked, doesn't pass tests, fixing... Unborked, ok for trunk if full testsuite passes? 2020-10-05 Ville Voutilainen PR libstdc++/95904 * include/std/va

Re: [PATCH] libstdc++: Simplify metaprogramming in

2020-10-10 Thread Jonathan Wakely via Gcc-patches
On 09/10/20 18:09 +0100, Jonathan Wakely wrote: This removes the __detail::_Shift class template, replacing it with a constexpr function template __pow2m1. Instead of using the _Mod class template to calculate a modulus just perform a bitwise AND with the result of __pow2m1. This works because th

[PUSHED] PR97359: Do not cache relops in GORI cache.

2020-10-10 Thread Aldy Hernandez via Gcc-patches
logical_stmt_cache::cacheable_p() returns true for relops, but logical_combine (which does the caching) doesn't handle them and ICEs. This patch fixes the inconsistency by returning false for relops. This was working before because even though logical_combine doesn't handle relops, statements with

[PATCH 2/4] rs6000: Support variable insert and Expand vec_insert in expander [PR79251]

2020-10-10 Thread Xionghu Luo via Gcc-patches
vec_insert accepts 3 arguments, arg0 is input vector, arg1 is the value to be insert, arg2 is the place to insert arg1 to arg0. Current expander generates stxv+stwx+lxv if arg2 is variable instead of constant, which causes serious store hit load performance issue on Power. This patch tries 1) Bu

[PATCH 3/4] rs6000: Enable vec_insert for P8 with rs6000_expand_vector_set_var_p8

2020-10-10 Thread Xionghu Luo via Gcc-patches
gcc/ChangeLog: 2020-10-10 Xionghu Luo * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Generate ARRAY_REF(VIEW_CONVERT_EXPR) for P8 and later platforms. * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): Update to call different pat

[PATCH 0/4] rs6000: Enable variable vec_insert with IFN VEC_SET

2020-10-10 Thread Xionghu Luo via Gcc-patches
Originated from https://gcc.gnu.org/pipermail/gcc-patches/2020-September/554240.html with patch split and some refinement per review comments. Patch of IFN VEC_SET for ARRAY_REF(VIEW_CONVERT_EXPR) is committed, this patch set enables expanding IFN VEC_SET for Power9 and Power8 with specfic instruc

[PATCH 1/4] rs6000: Change rs6000_expand_vector_set param

2020-10-10 Thread Xionghu Luo via Gcc-patches
rs6000_expand_vector_set could accept insert either to constant position or variable position, so change the operand to reg_or_cint_operand. gcc/ChangeLog: 2020-10-10 Xionghu Luo * config/rs6000/rs6000-call.c (altivec_expand_vec_set_builtin): Change call param 2 from type int

[PATCH 4/4] rs6000: Update testcases' instruction count

2020-10-10 Thread Xionghu Luo via Gcc-patches
gcc/testsuite/ChangeLog: 2020-10-10 Xionghu Luo * gcc.target/powerpc/fold-vec-insert-char-p8.c: Adjust instruction counts. * gcc.target/powerpc/fold-vec-insert-char-p9.c: Likewise. * gcc.target/powerpc/fold-vec-insert-double.c: Likewise. * gcc.target/pow