Re: [PATCH] errno can't alias locals (PR 92412)

2019-11-12 Thread Richard Biener
On Mon, Nov 11, 2019 at 11:38 PM Martin Sebor wrote: > > The conditional in default_ref_may_alias_errno has the function > return true even for local variables, implying that locals must > be assumed not to have been changed across calls to errno-setting > functions like malloc. This leads to bot

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill wrote: > > I'm not sure what semantics we might eventually want for vector <=>, but let's > give a sorry for now. Given our vector extension does elementwise comparisons I don't think we can implement <=> in a reasonable manner. What we could eventua

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 9:15 AM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: > > > > On 11/6/19 3:34 PM, Martin Sebor wrote: > > > On 11/6/19 2:06 PM, Martin Sebor wrote: > > >> On 11/6/19 1:39 PM, Jeff Law wrote: > > >>> On 11/6/19 1:27 PM, Martin Sebor wrote: > > >>

Re: [PATCH] include size and offset in -Wstringop-overflow

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 6:10 AM Jeff Law wrote: > > On 11/6/19 3:34 PM, Martin Sebor wrote: > > On 11/6/19 2:06 PM, Martin Sebor wrote: > >> On 11/6/19 1:39 PM, Jeff Law wrote: > >>> On 11/6/19 1:27 PM, Martin Sebor wrote: > On 11/6/19 11:55 AM, Jeff Law wrote: > > On 11/6/19 11:00 AM, Ma

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > Hi: > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > all AVX target because we found there's still performance gap between > 128-bit auto-vectorization and 256-bit auto-vectorization even with > epilog vectorized. > Th

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 9:19 AM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > Hi: > > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > > all AVX target because we found there's still performance gap between > > 128-bit auto-vectorization

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Hongtao Liu
On Tue, Nov 12, 2019 at 4:19 PM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > Hi: > > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > > all AVX target because we found there's still performance gap between > > 128-bit auto-vectorization

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Hongtao Liu
On Tue, Nov 12, 2019 at 4:29 PM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 9:19 AM Richard Biener > wrote: > > > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > > > Hi: > > > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > > > all AVX target because we f

Re: [PATCH] Enhance syntax of -fdbg-cnt.

2019-11-12 Thread Richard Biener
On Mon, Nov 11, 2019 at 3:56 PM Martin Liška wrote: > > On 11/11/19 3:19 PM, Richard Biener wrote: > > -static unsigned int limit_low[debug_counter_number_of_counters]; > > +static auto_vec > > *limits[debug_counter_number_of_counters] = {NULL}; > > Hm, apparently it's not working. I see a stack c

Re: [PATCH] Sort debug counter names.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 8:50 AM Martin Liška wrote: > > On 11/11/19 3:20 PM, Richard Biener wrote: > > On Mon, Nov 11, 2019 at 9:23 AM Martin Liška wrote: > >> > >> Hi. > >> > >> The small patch is about sorting of debug counter > >> values. > >> > >> Ready to be installed? > > > > OK > > > >> Th

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 9:29 AM Hongtao Liu wrote: > > On Tue, Nov 12, 2019 at 4:19 PM Richard Biener > wrote: > > > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > > > Hi: > > > This patch is about to set X86_TUNE_AVX128_OPTIMAL as default for > > > all AVX target because we foun

Re: [patch, fortran] PR92123 - [F2018/array-descriptor] Scalar allocatable/pointer with array descriptor (via bind(C)): ICE with select rank or error scalar variable with POINTER or ALLOCATABLE in pro

2019-11-12 Thread Tobias Burnus
On 11/12/19 2:04 AM, Vipul Parekh wrote: a look at the problem I run into with gfortran with CFI_address function? I filled a PR, https://gcc.gnu.org/PR92470 , and have also attached a lightly tested draft patch. Thanks for the report! Are there any other known issues in this area? Cheers,

[C++ Patch] Improve cp_truthvalue_conversion locations and more

2019-11-12 Thread Paolo Carlini
Hi, a few days ago I noticed that we weren't doing the right thing location-wise for the first test of g++.dg/warn/Waddress-1.C: it seems clear that the ultimate reason is that we didn't pass an accurate location to build_binary_op called from cp_truthvalue_conversion. When I fixed that, I no

Re: [PATCH] Enhance syntax of -fdbg-cnt.

2019-11-12 Thread Martin Liška
On 11/12/19 9:35 AM, Richard Biener wrote: On Mon, Nov 11, 2019 at 3:56 PM Martin Liška wrote: On 11/11/19 3:19 PM, Richard Biener wrote: -static unsigned int limit_low[debug_counter_number_of_counters]; +static auto_vec *limits[debug_counter_number_of_counters] = {NULL}; Hm, apparently it'

Re: [PATCH] Sort debug counter names.

2019-11-12 Thread Martin Liška
On 11/12/19 9:39 AM, Richard Biener wrote: On Tue, Nov 12, 2019 at 8:50 AM Martin Liška wrote: On 11/11/19 3:20 PM, Richard Biener wrote: On Mon, Nov 11, 2019 at 9:23 AM Martin Liška wrote: Hi. The small patch is about sorting of debug counter values. Ready to be installed? OK Thanks

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 09:10:58AM +0100, Richard Biener wrote: > On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill wrote: > > > > I'm not sure what semantics we might eventually want for vector <=>, but > > let's > > give a sorry for now. > > Given our vector extension does elementwise comparisons

[PATCH][COMMITTED] Add OpenACC 2.6 `serial' construct support

2019-11-12 Thread frederik
Hi, the following patch has been reviewed and committed. Frederik --- 8< -- The `serial' construct (cf. section 2.5.3 of the OpenACC 2.6 standard) is equivalent to a `parallel' construct with clauses `num_gangs(1) nu

Re: [PATCH 2/2] [ARM] Add support for -mpure-code in thumb-1 (v6m)

2019-11-12 Thread Christophe Lyon
ping^2 ? On Sun, 3 Nov 2019 at 16:07, Christophe Lyon wrote: > > Ping? > > https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01356.html > > On Fri, 18 Oct 2019 at 15:18, Christophe Lyon > wrote: > > > > Hi, > > > > This patch extends support for -mpure-code to all thumb-1 processors, > > by removing

[mid-end] Add notes to dataflow insn info when re-emitting (PR92410)

2019-11-12 Thread Matthew Malcomson
In scheduling passes, notes are removed with `remove_notes` before the scheduling is done, and added back in with `reemit_notes` once the scheduling has been decided. This process leaves the notes in the RTL chain with different insn uid's than were there before. Having different UID's (larger th

Re: [PATCH] Use more SET_OPTION_IF_UNSET.

2019-11-12 Thread Richard Biener
On Mon, Nov 11, 2019 at 3:04 PM Martin Liška wrote: > > There's one more refactoring patch that is about more > usage of SET_OPTION_IF_UNSET for parameters. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? OK. Richard. > Thanks, > Martin

Re: [PATCH] Refactor tree-loop-distribution for thread safety

2019-11-12 Thread Richard Biener
On Sat, Nov 9, 2019 at 3:26 PM Giuliano Belinassi wrote: > > Hi all, > > This patch refactors tree-loop-distribution.c for thread safety without > use of C11 __thread feature. All global variables were moved to a struct > which is initialized at ::execute time. Thanks for working on this. I've b

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:02 AM Jakub Jelinek wrote: > > On Tue, Nov 12, 2019 at 09:10:58AM +0100, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill wrote: > > > > > > I'm not sure what semantics we might eventually want for vector <=>, but > > > let's > > > give a sorry f

[PATCH 8/9] Remove option_default_params and option_validate_param hooks.

2019-11-12 Thread Martin Liška
On 11/11/19 3:36 PM, Richard Biener wrote: as a followup I notice that the targets *_default_params () functions should be merged into the default-options structs they have (did you check the defaults are still applied and user-overridable?) Apparently, the *_default_params target hook is not c

Re: [11/n] Support vectorisation with mixed vector sizes

2019-11-12 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:38 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, Oct 25, 2019 at 2:43 PM Richard Sandiford > > wrote: > >> > >> After previous patches, it's now possible to make the vectoriser > >> support multiple vector sizes in the same vector region, using > >>

Re: [PATCH] Refactor tree-loop-distribution for thread safety

2019-11-12 Thread Andrew Pinski
On Tue, Nov 12, 2019 at 1:16 AM Richard Biener wrote: > > On Sat, Nov 9, 2019 at 3:26 PM Giuliano Belinassi > wrote: > > > > Hi all, > > > > This patch refactors tree-loop-distribution.c for thread safety without > > use of C11 __thread feature. All global variables were moved to a struct > > whi

Re: [PATCH 0/7] Param conversion to option machinery

2019-11-12 Thread Martin Liška
On 11/11/19 3:42 PM, Richard Biener wrote: I didn't go over them but maybe we can postpone this to a followup and for now make_none_ of them Optimization which preserves Ok, there's updated patch w/o the Optimization keyword. previous behavior (I guess the optimize attribute/pragma doesn't a

Re: [11a/n] Avoid retrying with the same vector modes

2019-11-12 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:47 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Wed, Nov 6, 2019 at 12:02 PM Richard Sandiford > > wrote: > >> > >> Richard Biener writes: > >> > On Wed, Nov 6, 2019 at 11:21 AM Richard Sandiford > >> > wrote: > >> >> > >> >> Richard Biener writes: >

Re: [14/n] Vectorise conversions between differently-sized integer vectors

2019-11-12 Thread Richard Biener
On Wed, Nov 6, 2019 at 1:45 PM Richard Sandiford wrote: > > Richard Biener writes: > > On Fri, Oct 25, 2019 at 2:51 PM Richard Sandiford > > wrote: > >> > >> This patch adds AArch64 patterns for converting between 64-bit and > >> 128-bit integer vectors, and makes the vectoriser and expand pass

Re: [PATCH][AArch64] Implement Armv8.5-A memory tagging (MTE) intrinsics

2019-11-12 Thread Kyrill Tkachov
Hi Dennis, On 11/7/19 1:48 PM, Dennis Zhang wrote: Hi Kyrill, I have rebased the patch on top of current truck. For resolve_overloaded, I redefined my memtag overloading function to fit the latest resolve_overloaded_builtin interface. Regression tested again and survived for aarch64-none-linux

Re: [PATCH 8/9] Remove option_default_params and option_validate_param hooks.

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:21 AM Martin Liška wrote: > > On 11/11/19 3:36 PM, Richard Biener wrote: > > as a followup I notice that the targets *_default_params () functions should > > be merged into the default-options structs they have (did you check the > > defaults are still applied and user-o

Re: [PATCH 0/7] Param conversion to option machinery

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:23 AM Martin Liška wrote: > > On 11/11/19 3:42 PM, Richard Biener wrote: > > I didn't go over them but maybe we can postpone this to a followup > > and for now make_none_ of them Optimization which preserves > > Ok, there's updated patch w/o the Optimization keyword. O

Re: [PATCH 3/7] Apply mechanical replacement (generated patch).

2019-11-12 Thread Richard Biener
On Tue, Nov 12, 2019 at 10:19 AM Martin Liška wrote: > > On 11/11/19 3:36 PM, Richard Biener wrote: > > I think I've noticed at least one long line (please double-check): > > > > - if (tree_to_uhwi (t) < (unsigned HOST_WIDE_INT) > > INTEGER_SHARE_LIMIT) > > + if (tree_to_uh

Re: [PATCH] Fix PR92324

2019-11-12 Thread Christophe Lyon
On Mon, 11 Nov 2019 at 14:36, Richard Biener wrote: > > On Mon, 11 Nov 2019, Christophe Lyon wrote: > > > On Fri, 8 Nov 2019 at 09:57, Richard Biener wrote: > > > > > > > > > I've been sitting on this for a few days since I'm not 100% happy > > > with how the code looks like. There's possibly st

Re: [C++ PATCH] Sorry about <=> on VECTOR_TYPE.

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 10:19:49AM +0100, Richard Biener wrote: > On Tue, Nov 12, 2019 at 10:02 AM Jakub Jelinek wrote: > > > > On Tue, Nov 12, 2019 at 09:10:58AM +0100, Richard Biener wrote: > > > On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill wrote: > > > > > > > > I'm not sure what semantics we

Re: [PATCH, GCC/ARM, 4/10] Clear GPR with CLRM

2019-11-12 Thread Kyrill Tkachov
Hi Mihail, On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 4/10] Clear GPR with CLRM Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to improve code density of functions with the cmse_

Re: [PATCH] Enable libsanitizer build on riscv64

2019-11-12 Thread Andreas Schwab
On Nov 11 2019, Jim Wilson wrote: > ../../../../gcc-git/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:1136:1: > note: in expansion of macro ‘CHECK_SIZE_AND_OFFSET’ > 1136 | CHECK_SIZE_AND_OFFSET(ipc_perm, mode); > | ^ Looks like you are using an unre

Re: [PATCH, GCC/ARM, 5/10] Clear VFP registers with VSCCLRM

2019-11-12 Thread Kyrill Tkachov
Hi Mihail, On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 5/10] Clear VFP registers with VSCCLRM Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to improve code density of functions w

Re: [PATCH] errno can't alias locals (PR 92412)

2019-11-12 Thread Andreas Schwab
On Nov 12 2019, Richard Biener wrote: > This means a tentative definition for 'errno' is non-conforming? https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html If a macro definition is suppressed in order to access an actual object, or a program defines an identifier with the n

Re: [PATCH] Avoid *ORDERED_EXPRs in the IL if !HONOR_NANS (PR target/92449)

2019-11-12 Thread Segher Boessenkool
On Tue, Nov 12, 2019 at 08:47:55AM +0100, Richard Biener wrote: > OK, but IMHO it is not a good idea to assert UNORDERED_EXPR cannot > appear with !HONOR_NANS, is it? If we allow that, we should allow UNLT/UNGT/UNLE/UNGE/UNEQ/LTGT as well, which doesn't make much sense, especially because LTGT the

Re: [PATCH, GCC/ARM, 6/10] Clear GPRs inline when calling nscall function

2019-11-12 Thread Kyrill Tkachov
Hi Mihail, On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 6/10] Clear GPRs inline when calling nscall function Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to generate inline calle

Re: [PATCH] Avoid *ORDERED_EXPRs in the IL if !HONOR_NANS (PR target/92449)

2019-11-12 Thread Segher Boessenkool
On Tue, Nov 12, 2019 at 01:06:55AM +0100, Jakub Jelinek wrote: > The testcase from the PR ICEs on rs6000. For __builtin_isunordered etc. > the folding makes sure that there is no *ORDERED_EXPR etc. in the IL > if !HONOR_NANS, but the complex multiplication can emit it when mixing > -Ofast with -fn

Re: [PATCH, GCC/ARM, 7/10] Clear all VFP regs inline in hardfloat nscall functions

2019-11-12 Thread Kyrill Tkachov
On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 7/10] Clear all VFP regs inline in hardfloat nscall functions Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to generate inline instr

Re: [PATCH, GCC/ARM, 8/10] Do lazy store & load inline when calling nscall function

2019-11-12 Thread Kyrill Tkachov
Hi Mihail, On 10/23/19 3:24 PM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 8/10] Do lazy store & load inline when calling nscall function Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to generate la

Re: [PATCH, GCC/ARM, 9/10] Call nscall function with blxns

2019-11-12 Thread Kyrill Tkachov
On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 9/10] Call nscall function with blxns Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to call functions with the cmse_nonsecure_call at

Re: [PATCH, GCC/ARM, 10/10] Enable -mcmse

2019-11-12 Thread Kyrill Tkachov
On 10/23/19 10:26 AM, Mihail Ionescu wrote: [PATCH, GCC/ARM, 10/10] Enable -mcmse Hi, === Context === This patch is part of a patch series to add support for Armv8.1-M Mainline Security Extensions architecture. Its purpose is to enable the -mcmse option now that support for Armv8.1-M Securit

Re: [PATCH][arm][1/X] Add initial support for saturation intrinsics

2019-11-12 Thread Christophe Lyon
On Thu, 7 Nov 2019 at 11:26, Kyrill Tkachov wrote: > > Hi all, > > This patch adds the plumbing for and an implementation of the saturation > intrinsics from ACLE [1], in particular the __ssat, __usat intrinsics. > These intrinsics set the Q sticky bit in APSR if an overflow occurred. > ACLE allow

Re: [PATCH] Enable libsanitizer build on riscv64

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 10:56:21AM +0100, Andreas Schwab wrote: > On Nov 11 2019, Jim Wilson wrote: > > > ../../../../gcc-git/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:1136:1: > > note: in expansion of macro ‘CHECK_SIZE_AND_OFFSET’ > > 1136 | CHECK_SIZE_AND_OFFSET(ipc_perm

Re: [PATCH 2/2] [ARM] Add support for -mpure-code in thumb-1 (v6m)

2019-11-12 Thread Kyrill Tkachov
Hi Christophe, On 10/18/19 2:18 PM, Christophe Lyon wrote: Hi, This patch extends support for -mpure-code to all thumb-1 processors, by removing the need for MOVT. Symbol addresses are built using upper8_15, upper0_7, lower8_15 and lower0_7 relocations, and constants are built using sequences

[PATCH] Split X86_TUNE_AVX128_OPTIMAL into X86_TUNE_AVX256_SPLIT_REGS and X86_TUNE_AVX128_OPTIMAL

2019-11-12 Thread Hongtao Liu
Hi: As mentioned in https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00832.html > So yes, it's poorly named. A preparatory patch to clean this up > (and maybe split it into TARGET_AVX256_SPLIT_REGS and TARGET_AVX128_OPTIMAL) > would be nice. Bootstrap and regression test for i386 backend is ok.

Re: [PATCH] Avoid *ORDERED_EXPRs in the IL if !HONOR_NANS (PR target/92449)

2019-11-12 Thread Richard Biener
On Tue, 12 Nov 2019, Segher Boessenkool wrote: > On Tue, Nov 12, 2019 at 08:47:55AM +0100, Richard Biener wrote: > > OK, but IMHO it is not a good idea to assert UNORDERED_EXPR cannot > > appear with !HONOR_NANS, is it? > > If we allow that, we should allow UNLT/UNGT/UNLE/UNGE/UNEQ/LTGT as well,

Re: [PATCH][arm][1/X] Add initial support for saturation intrinsics

2019-11-12 Thread Kyrill Tkachov
Hi Christophe, On 11/12/19 10:29 AM, Christophe Lyon wrote: On Thu, 7 Nov 2019 at 11:26, Kyrill Tkachov wrote: Hi all, This patch adds the plumbing for and an implementation of the saturation intrinsics from ACLE [1], in particular the __ssat, __usat intrinsics. These intrinsics set the Q sti

Re: [PATCH, rs6000] Refactor FP vector comparison operators

2019-11-12 Thread Kewen.Lin
Hi Segher, on 2019/11/11 下午8:51, Segher Boessenkool wrote: > Hi! > >> pattern 1: >> lt(a,b) = gt(b,a) >> le(a,b) = ge(b,a) > > This is done by swap_condition normally. Nice! Done. > >> pattern 2: >> unge(a,b) = ~gt(b,a) >> unle(a,b) = ~gt(a,b) >> ne(a,b) = ~eq(a,b) >> ungt(a,b)

Re: [PATCH] Set AVX128_OPTIMAL for all avx targets.

2019-11-12 Thread Hongtao Liu
On Tue, Nov 12, 2019 at 4:41 PM Richard Biener wrote: > > On Tue, Nov 12, 2019 at 9:29 AM Hongtao Liu wrote: > > > > On Tue, Nov 12, 2019 at 4:19 PM Richard Biener > > wrote: > > > > > > On Tue, Nov 12, 2019 at 8:36 AM Hongtao Liu wrote: > > > > > > > > Hi: > > > > This patch is about to set

Re: [PATCH 2/2] [ARM] Add support for -mpure-code in thumb-1 (v6m)

2019-11-12 Thread Richard Earnshaw (lists)
On 18/10/2019 14:18, Christophe Lyon wrote: + bool not_supported = arm_arch_notm || flag_pic || TARGET_NEON; This is a poor name in the context of the function as a whole. What's not supported. Please think of a better name so that I have some idea what the intention is. R.

Re: [PATCH 2/2] [ARM] Add support for -mpure-code in thumb-1 (v6m)

2019-11-12 Thread Richard Earnshaw (lists)
On 18/10/2019 14:18, Christophe Lyon wrote: +thumb1_gen_const_int (rtx op0, HOST_WIDE_INT op1) +{ + bool mov_done_p = false; + int i; + + /* Emit upper 3 bytes if needed. */ + for (i = 0; i < 3; i++) +{ + int byte = (op1 >> (8 * (3 - i))) & 0xff; + + if (byte) + { +

Re: [PATCH] Enable libsanitizer build on riscv64

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 11:32:56AM +0100, Jakub Jelinek wrote: > On Tue, Nov 12, 2019 at 10:56:21AM +0100, Andreas Schwab wrote: > > On Nov 11 2019, Jim Wilson wrote: > > > > > ../../../../gcc-git/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:1136:1: > > > note: in expansion of

[PATCH 1/2] gdbinit.in: call a function with "call", not "set"

2019-11-12 Thread Konstantin Kharlamov
Last time a command that calls a function of debuggee with "set" was added is 2013 year. Apparently something has changed since then, since doing "set foo()" in gdb to call a "foo()" results in error. Disregarding, it looks wrong to call a function with "set". Let's use "call" instead. * (debug_rt

[PATCH 2/2] gdbinit.in: fix wrong reference to function argument

2019-11-12 Thread Konstantin Kharlamov
Gdb documentation says that gdb-defined functions refer to their args as $arg0…$argN. The just "$" that gdbinit is using here refers to something else, which results in gdb errors, or even crashes of debuggee. Let's fix that. * (debug,debug_rtx,pr,prl,pt,pct,pgg,pgq,pgq,pgs,pge,pmz,ptc, pdn,ptn,pd

[PATCH 0/2] gdbinit.in fixes

2019-11-12 Thread Konstantin Kharlamov
This includes the unmerged previously posted here patch about calling with `call`. I made a typo in commit message formatting, so I fix it here. I'd like to note that I am not subscribed to the list, so please add me to CC when replying. Thanks in advance. Konstantin Kharlamov (2): gdbinit.in:

[PATCH] Fix PR92461

2019-11-12 Thread Richard Biener
Bootstrapped & tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-12 Richard Biener PR tree-optimization/92461 * tree-vect-loop.c (vect_create_epilog_for_reduction): Update stmt after propagation. * gcc.dg/torture/pr92461.c: New testcase. Index:

Re: [PATCH 3/X] [libsanitizer] Add option to bootstrap using HWASAN

2019-11-12 Thread Martin Liška
On 11/11/19 5:03 PM, Matthew Malcomson wrote: Ah! My apologies -- I sent up a series with a few documentation mistakes. (the others were wording problems so less noticeable) That's fine, I fixed that very easily. Right now, I can confirm using a aarch64 KVM with the following linux kernel: 5.4

[PATCH] Fix PR92460

2019-11-12 Thread Richard Biener
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2019-11-12 Richard Biener PR tree-optimization/92460 * tree-vect-stmts.c (vectorizable_simd_clone_call): Unshare expression before gimplifying. Index: gcc/tree-vect-stmts.c ==

Re: Ping: [PATCH V6] Extend IPA-CP to support arithmetically-computed value-passing on by-ref argument (PR ipa/91682)

2019-11-12 Thread Jan Hubicka
> +2019-11-05 Feng Xue > + > + PR ipa/91682 > + * ipa-prop.h (jump_func_type): New value IPA_JF_LOAD_AGG. > + (ipa_load_agg_data, ipa_agg_value, ipa_agg_value_set): New structs. > + (ipa_agg_jf_item): Add new field jftype and type, redefine field value. > + (ipa_agg_jump_func

Re: Ping: [PATCH V6] Extend IPA-CP to support arithmetically-computed value-passing on by-ref argument (PR ipa/91682)

2019-11-12 Thread Jan Hubicka
> > +2019-11-05 Feng Xue > > + > > + PR ipa/91682 > > + * ipa-prop.h (jump_func_type): New value IPA_JF_LOAD_AGG. > > + (ipa_load_agg_data, ipa_agg_value, ipa_agg_value_set): New structs. > > + (ipa_agg_jf_item): Add new field jftype and type, redefine field value. > > + (ipa_agg_jump_

Re: [PATCH, OpenACC, v2] Non-contiguous array support for OpenACC data clauses

2019-11-12 Thread Chung-Lin Tang
Hi Thomas, thanks for the first review. I'm still working on another revision, but wanted to respond to some of the issues you raised first: On 2019/11/7 8:48 AM, Thomas Schwinge wrote: (1) The simplest solution: implement a processing which searches and reverts such non-contiguous array map en

Re: [patch, fortran] Load scalar intent-in variables at the beginning of procedures

2019-11-12 Thread Thomas König
Hi Janne, > Ah, of course. I should have said module procedures. Or even module > procedures without bind(C)? It would probably be the latter. The change would actually be rather small: If conditions are met, just add attr.value for INTENT(IN). This is something we should probably do when we a

Re: [PATCH 2/2] gdbinit.in: fix wrong reference to function argument

2019-11-12 Thread Andreas Schwab
On Nov 12 2019, Konstantin Kharlamov wrote: > Gdb documentation says that gdb-defined functions refer to their args as > $arg0…$argN. The just "$" that gdbinit is using here refers to something > else, That's the last thing printed. > which results in gdb errors, or even crashes of debuggee. Let

Teach ipa-cp to propagate value ranges over binary operaitons too

2019-11-12 Thread Jan Hubicka
Hi, this patch adds propagation of value ranges through binary operations. This is disabled for value ranges within SCC to avoid infinite loop during propagation. I am bit worried about types here. As far as I can say we have something like VR in lattice of type1 foo (type1 param) { bar ((type

Re: [PATCH 2/2] gdbinit.in: fix wrong reference to function argument

2019-11-12 Thread Konstantin Kharlamov
On Вт, ноя 12, 2019 at 13:50, Andreas Schwab wrote: On Nov 12 2019, Konstantin Kharlamov wrote: Gdb documentation says that gdb-defined functions refer to their args as $arg0…$argN. The just "$" that gdbinit is using here refers to something else, That's the last thing printed. Hm

Use known value ranges while evaluating ipa predicates

2019-11-12 Thread Jan Hubicka
Hi, this implements use of value ranges in ipa-predicates so inliner know when some tests are going to be removed (especially NULL pointer checks). Bootstrapped/regtested x86_64-linux. Martin, I would apprechiate if you look on the patch. Honza * ipa-cp.c (ipa_vr_operation_and_type_effe

Re: [PATCH 2/2] gdbinit.in: fix wrong reference to function argument

2019-11-12 Thread Andreas Schwab
On Nov 12 2019, Konstantin Kharlamov wrote: > I'm definitely missing something. Who are these users, and how can they > make anything useful of these functions if they don't even pass an > argument? By printing the desired value. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fi

Re: Ping: [PATCH V6] Extend IPA-CP to support arithmetically-computed value-passing on by-ref argument (PR ipa/91682)

2019-11-12 Thread Martin Jambor
Hi, On Tue, Nov 12 2019, Jan Hubicka wrote: > Also note that there is a long standing problem with inlining ipacp > clones. This can be shown on the following example: > > struct a {int a;}; > static int foo (struct a a) > { > return a.a; > } > __attribute__ ((noinline)) > static int bar (struc

Re: [PATCH 2/2] gdbinit.in: fix wrong reference to function argument

2019-11-12 Thread Konstantin Kharlamov
On Вт, ноя 12, 2019 at 14:08, Andreas Schwab wrote: On Nov 12 2019, Konstantin Kharlamov wrote: I'm definitely missing something. Who are these users, and how can they make anything useful of these functions if they don't even pass an argument? By printing the desired value. Hah, o

Re: Ping: [PATCH V6] Extend IPA-CP to support arithmetically-computed value-passing on by-ref argument (PR ipa/91682)

2019-11-12 Thread Jan Hubicka
> Hi, > > On Tue, Nov 12 2019, Jan Hubicka wrote: > > Also note that there is a long standing problem with inlining ipacp > > clones. This can be shown on the following example: > > > > struct a {int a;}; > > static int foo (struct a a) > > { > > return a.a; > > } > > __attribute__ ((noinline))

[PATCH 1/7 libgomp,nvptx] Move generic libgomp files from nvptx to accel

2019-11-12 Thread Andrew Stubbs
This patch shouldn't change anything much at all; it's just an internal reorganization of files. The idea is to move files from libgomp "nvptx" directory that have nothing NVPTX-specific in them. By placing them in a separate "accel" directory they can be shared with the GCN port, thus preventing

[PATCH 0/7 libgomp,amdgcn] AMD GCN Offloading Support

2019-11-12 Thread Andrew Stubbs
Hi all, This patch series contributes initial OpenMP and OpenACC support for AMD GCN GPUs. The test results are not yet perfect, but there are many more passes than failures, so this is a good starting point. The rest of the issues can be addressed as bugs during stage 3. I have another, unfini

[PATCH 2/7 amdgcn] GCN mkoffload

2019-11-12 Thread Andrew Stubbs
This patch adds the mkoffload tool to the amdgcn backend. It's similar, but not quite the same as that on the openacc-gcc-9-branch. I will commit this patch when the others in this series are approved. Andrew 2019-11-12 Andrew Stubbs gcc/ * config/gcn/mkoffload.c: New file.

[PATCH 3/7 libgomp,nvptx] Add device number to GOMP_OFFLOAD_openacc_async_construct

2019-11-12 Thread Andrew Stubbs
This patch is preparatory for the amdgcn plugin. The current implementation was written for CUDA in which the device associated with the queue is inferred by some hidden magic (which seems questionable to me but then I don't fully understand it). The GCN plugin needs to know for which device the

[PATCH 4/7 libgomp,amdgcn] GCN libgomp port

2019-11-12 Thread Andrew Stubbs
This patch contributes a libgomp implementation for AMD GCN, minus the plugin which is later in this series. GCN has been allocated ID number "8", even though devices "6" and "7" are no longer present in every place where the IDs exist (they were HSA and Intel MIC). Most of these changes are simp

[PATCH 7/7 libgomp,amdgcn] GCN Libgomp Plugin

2019-11-12 Thread Andrew Stubbs
This patch contributes the GCN libgomp plugin, with the various configure and make bits to go with it. This implementation is a much-cleaned-up version of the one present on the openacc-gcc-9-branch. OK to commit? Thanks Andrew 2019-11-12 Andrew Stubbs libgomp/ * plugin/Ma

[PATCH 5/7 libgomp,amdgcn] Optimize GCN OpenMP malloc performance

2019-11-12 Thread Andrew Stubbs
This patch implements a malloc optimization to improve the startup and shutdown overhead for each OpenMP team. New malloc functions are created, "team_malloc" and "team_free", that take memory from a per-team memory arena provided by the plugin, rather than the shared heap space, which is slow, an

[PATCH 6/7 amdgcn] Use a single worker for OpenACC on AMD GCN

2019-11-12 Thread Andrew Stubbs
This patch prevents the compiler using multiple workers in a gang. This should be reverted when worker support is committed. I will commit this with the reset of the series. Andrew 2019-11-12 Andrew Stubbs Julian Brown gcc/ * config/gcn/gcn.c (gcn_goacc_valida

Re: [PATCH] Refactor tree-loop-distribution for thread safety

2019-11-12 Thread Giuliano Belinassi
Hi, Richard. On 11/12, Richard Biener wrote: > On Sat, Nov 9, 2019 at 3:26 PM Giuliano Belinassi > wrote: > > > > Hi all, > > > > This patch refactors tree-loop-distribution.c for thread safety without > > use of C11 __thread feature. All global variables were moved to a struct > > which is initi

Re: [PATCH 2/2] gdbinit.in: fix wrong reference to function argument

2019-11-12 Thread Andreas Schwab
On Nov 12 2019, Konstantin Kharlamov wrote: > Besides, I suspect, the number of actual users of this gdbinit is around > zero, otherwise someone would have noticed the warning that gdb prints on > every usage of these functions while the PATCH 1/2 is not applied. It's easy to ignore it. Andreas.

Re: Teach ipa-cp to propagate value ranges over binary operaitons too

2019-11-12 Thread Richard Biener
On Tue, 12 Nov 2019, Jan Hubicka wrote: > Hi, > this patch adds propagation of value ranges through binary operations. > This is disabled for value ranges within SCC to avoid infinite loop during > propagation. I am bit worried about types here. As far as I can say we > have something like > >

Re: [PATCH 1/7 libgomp,nvptx] Move generic libgomp files from nvptx to accel

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 01:29:10PM +, Andrew Stubbs wrote: > 2019-11-12 Andrew Stubbs > > libgomp/ > * configure.tgt (nvptx*-*-*): Add "accel" directory. > * config/nvptx/libgomp-plugin.c: Move ... > * config/accel/libgomp-plugin.c: ... to here. > * config/nvpt

Re: [PATCH 3/7 libgomp,nvptx] Add device number to GOMP_OFFLOAD_openacc_async_construct

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 01:29:12PM +, Andrew Stubbs wrote: > 2019-11-12 Andrew Stubbs > > libgomp/ > * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int > parameter. > * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the > queue co

Re: [PATCH 4/7 libgomp,amdgcn] GCN libgomp port

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 01:29:13PM +, Andrew Stubbs wrote: > 2019-11-12 Andrew Stubbs > > include/ > * gomp-constants.h (GOMP_DEVICE_GCN): Define. > (GOMP_VERSION_GCN): Define. Perhaps this could be 0, but not a big deal. > libgomp/ > * Makefile.am (libgomp_l

Re: Teach ipa-cp to propagate value ranges over binary operaitons too

2019-11-12 Thread Jan Hubicka
> > + tree op = ipa_get_jf_pass_through_operand (jfunc); > > + value_range op_vr (op, op); > > + value_range op_res,res; > > + > > Do we really know operation is tcc_binary here? Constant propagation already assumes that at the same spot: if (TREE_CODE_CLASS (opcode) == tcc_unary)

Re: [PATCH 5/7 libgomp,amdgcn] Optimize GCN OpenMP malloc performance

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 01:29:14PM +, Andrew Stubbs wrote: > 2019-11-12 Andrew Stubbs > > libgomp/ > * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena > and use team_malloc variants. > (gomp_gcn_exit_kernel): Use team_free. > * libgomp.h (TEAM_

Re: [PATCH 7/7 libgomp,amdgcn] GCN Libgomp Plugin

2019-11-12 Thread Jakub Jelinek
On Tue, Nov 12, 2019 at 01:29:16PM +, Andrew Stubbs wrote: > 2019-11-12 Andrew Stubbs > > libgomp/ > * plugin/Makefrag.am: Add amdgcn plugin support. > * plugin/configfrag.ac: Likewise. > * plugin/plugin-gcn.c: New file. > * configure: Regenerate. I'm a little

[PATCH] Free dominance info at the beginning of pass_jump_after_combine

2019-11-12 Thread Ilya Leoshkevich
Bootstrapped and regtested on x86_64-redhat-linux, s390x-redhat-linux and ppc64le-redhat-linux. OK for trunk and gcc-9-branch? try_forward_edges does not update dominance info, and merge_blocks relies on it being up-to-date. In PR92430 stale dominance info makes merge_blocks produce a loop in th

Re: [PATCH] Free dominance info at the beginning of pass_jump_after_combine

2019-11-12 Thread Richard Biener
On Tue, 12 Nov 2019, Ilya Leoshkevich wrote: > Bootstrapped and regtested on x86_64-redhat-linux, s390x-redhat-linux > and ppc64le-redhat-linux. OK for trunk and gcc-9-branch? > > try_forward_edges does not update dominance info, and merge_blocks > relies on it being up-to-date. In PR92430 stal

[PATCH] Fix slowness in demangler

2019-11-12 Thread Tim Rühsen
Hi, this is a proposal to fix https://sourceware.org/bugzilla/show_bug.cgi?id=25180 In short: cxxfilt _ZZ1_DO1z1Dclaa1D1VEE1VE2zo takes several minutes with 100% CPU before it comes back with a result. With this patch the r

Re: [PATCH 4/7 libgomp,amdgcn] GCN libgomp port

2019-11-12 Thread Andrew Stubbs
On 12/11/2019 13:46, Jakub Jelinek wrote: On Tue, Nov 12, 2019 at 01:29:13PM +, Andrew Stubbs wrote: 2019-11-12 Andrew Stubbs include/ * gomp-constants.h (GOMP_DEVICE_GCN): Define. (GOMP_VERSION_GCN): Define. Perhaps this could be 0, but not a big deal. OG9 us

Re: [patch, fortran] Load scalar intent-in variables at the beginning of procedures

2019-11-12 Thread Tobias Burnus
Hi Thomas, On 11/12/19 1:42 PM, Thomas König wrote: Ah, of course. I should have said module procedures. Or even module procedures without bind(C)? It would probably be the latter. The change would actually be rather small: If conditions are met, just add attr.value for INTENT(IN). This is so

Re: [PATCH] Free dominance info at the beginning of pass_jump_after_combine

2019-11-12 Thread Segher Boessenkool
Hi! On Tue, Nov 12, 2019 at 03:11:05PM +0100, Ilya Leoshkevich wrote: > try_forward_edges does not update dominance info, and merge_blocks > relies on it being up-to-date. In PR92430 stale dominance info makes > merge_blocks produce a loop in the dominator tree, which in turn makes > delete_basic

[PATCH] PR90838: Support ctz idioms

2019-11-12 Thread Wilco Dijkstra
Hi, Support common idioms for count trailing zeroes using an array lookup. The canonical form is array[((x & -x) * C) >> SHIFT] where C is a magic constant which when multiplied by a power of 2 contains a unique value in the top 5 or 6 bits. This is then indexed into a table which maps it to the

[PR c++/6936] Delete duplicate test

2019-11-12 Thread Nathan Sidwell
6936 and using38 are the same test. Deleting one of them. nathan -- Nathan Sidwell 2019-11-12 Nathan Sidwell * g++.dg/lookup/pr6936.C: Delete, identical to using38.C Index: g++.dg/lookup/pr6936.C === --- g++.dg/lookup/pr6936.C

Re: [PATCH 7/7 libgomp,amdgcn] GCN Libgomp Plugin

2019-11-12 Thread Andrew Stubbs
On 12/11/2019 14:01, Jakub Jelinek wrote: On Tue, Nov 12, 2019 at 01:29:16PM +, Andrew Stubbs wrote: 2019-11-12 Andrew Stubbs libgomp/ * plugin/Makefrag.am: Add amdgcn plugin support. * plugin/configfrag.ac: Likewise. * plugin/plugin-gcn.c: New file.

  1   2   >