[C++ Patch ping] Bunch of location improvements

2019-09-09 Thread Paolo Carlini
Hi, On 02/09/19 16:28, Paolo Carlini wrote: Hi, all should be more or less straightforward. I also propose to use an additional range for that error message about constinit && constexpr mentioned to Marek a few days ago. Tested x86_64-linux. I'm gently piniging this very early because the f

Re: [PATCH] PR tree-optimization/90836 Missing popcount pattern matching

2019-09-09 Thread Richard Biener
On Fri, Sep 6, 2019 at 2:13 PM Wilco Dijkstra wrote: > > Hi, > > +(simplify > + (convert > +(rshift > + (mult > > > is the outer convert really necessary? That is, if we change > > the simplification result to > > Indeed that should be "convert?" to make it optional. Rather drop it, a

Re: libgo: Update to Go 1.13beta1 release

2019-09-09 Thread Rainer Orth
Hi Ian, > I've committed a patch to update libgo to the Go 1.13beta1 release. > As is usual with these updates, the patch is too large to include > here; I've included the diffs of the various GCC-specific configury > and other files. Bootstrapped and ran Go testsuite on > x86_64-pc-linux-gnu. C

Re: [PATCH] Use type alignment in get_builtin_sync_mem

2019-09-09 Thread Richard Biener
On Fri, Sep 6, 2019 at 3:00 PM Ulrich Weigand wrote: > > Richard Biener wrote: > > On Tue, Sep 3, 2019 at 3:09 PM Ulrich Weigand wrote: > > > > If you read the C standards fine-print then yes. But people (or > > > > even the C frontend!) hardly get that correct since for example > > > > for > >

Re: [ARM/FDPIC v5 20/21] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-09 Thread Christophe Lyon
On Fri, 6 Sep 2019 at 19:43, Christophe Lyon wrote: > > On Fri, 6 Sep 2019 at 11:09, Christophe Lyon > wrote: > > > > On Fri, 6 Sep 2019 at 10:28, Kyrill Tkachov > > wrote: > > > > > > > > > On 9/6/19 9:01 AM, Christophe Lyon wrote: > > > > On Fri, 19 Jul 2019 at 11:00, Kyrill Tkachov > > > >

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

2019-09-09 Thread Feng Xue OS
Made some changes. Feng --- diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c index 33d52fe5537..f218f1093b8 100644 --- a/gcc/ipa-cp.c +++ b/gcc/ipa-cp.c @@ -1244,23 +1244,23 @@ initialize_node_lattices (struct cgraph_node *node) } } -/* Return the result of a (possibly arithmetic) pass through j

Re: [PATCH v3 1/9] Allow COND_EXPR and VEC_COND_EXPR condtions to trap

2019-09-09 Thread Richard Biener
On Fri, Sep 6, 2019 at 5:45 PM Ilya Leoshkevich wrote: > > > Am 06.09.2019 um 13:07 schrieb Richard Biener : > > > > On Thu, Sep 5, 2019 at 1:10 PM Ilya Leoshkevich wrote: > >> > >> Right now gimplifier does not allow VEC_COND_EXPR's condition to trap > >> and introduces a temporary if this could

Re: [ARM/FDPIC v5 10/21] [ARM] FDPIC: Implement TLS support.

2019-09-09 Thread Christophe Lyon
On Wed, 4 Sep 2019 at 22:03, Christophe Lyon wrote: > > On Wed, 4 Sep 2019 at 16:16, Kyrill Tkachov > wrote: > > > > Hi Christophe, > > > > On 5/15/19 1:39 PM, Christophe Lyon wrote: > > > Support additional relocations: TLS_GD32_FDPIC, TLS_LDM32_FDPIC, and > > > TLS_IE32_FDPIC. > > > > > > We d

Re: [ARM/FDPIC v5 13/21] [ARM] FDPIC: Force LSB bit for PC in Cortex-M architecture

2019-09-09 Thread Christophe Lyon
On Thu, 5 Sep 2019 at 11:03, Kyrill Tkachov wrote: > > Hi Christophe, > > On 9/5/19 9:30 AM, Christophe Lyon wrote: > > On Thu, 29 Aug 2019 at 17:32, Kyrill Tkachov > > wrote: > >> Hi Christophe, > >> > >> On 5/15/19 1:39 PM, Christophe Lyon wrote: > >>> Without this, when we are unwinding across

Re: [PATCH V6 01/11] Update config.sub and config.guess.

2019-09-09 Thread Jose E. Marchesi
* config.sub: Import upstream version 2019-06-30. * config.guess: Import upstream version 2019-07-24. Just installed this in svn trunk.

[PATCH] Fix up -funsigned-char behavior of _mm256_cmpgt_epi8 (PR target/91704)

2019-09-09 Thread Jakub Jelinek
Hi! This PR is a repetition of PR87853, just for avx2 instead of sse2. See https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00195.html for the previous patch. This time there is just one intrinsic with the problem (note, the previous patch didn't have to change _mm_cmpeq_epi8, as __v16qi vs. __v16qs

Re: [RFC][PATCH 1/X][libsanitizer] Introduce libsanitizer to GCC tree

2019-09-09 Thread Martin Liška
On 9/6/19 4:46 PM, Matthew Malcomson wrote: Hello. > We have taken the libsanitizer library from the same SVN revision as > the other sanitizer libraries are taken from (SVN revision 345033 as > mentioned in libsanitizer/MERGE). Note that I updated the libsanitizer in the meantime to r368656. Th

Re: [RFC][PATCH 3/X][libsanitizer] Allow compilation for HWASAN_WITH_INTERCEPTORS=OFF

2019-09-09 Thread Martin Liška
On 9/6/19 4:46 PM, Matthew Malcomson wrote: > This is a port of the LLVM-svn commit number 359914, it allows > compilation of the library without using interceptors. As mentioned in the previous email, the cherry-pick will not be needed any longer. Martin

Re: [RFC][PATCH 4/X][libsanitizer] Pass size and pointer info to error reporting functions

2019-09-09 Thread Martin Liška
On 9/6/19 4:46 PM, Matthew Malcomson wrote: > This is taken from upstream LLVM (change made in LLVM svn commit > 351730), but is not a direct cherry-pick of a commit since the commit > does not apply cleanly. As mentioned in the previous email, the cherry-pick will not be needed any longer. Marti

Re: We should mark "Should Span be Regular? P1085R2" as well.

2019-09-09 Thread Jonathan Wakely
On 06/09/19 18:08 -0400, Ed Smith-Rowland via libstdc++ wrote: As the title says. was (correctly) delivered without comparison ops. so we chould check off p1085. Indeed, thanks! This includes the status updates for constexpr lib diffs posted previously. I also regenerated the html (result

Re: [PATCH, libstdc++] Doc changes for constexpr additions for C++20 status.

2019-09-09 Thread Jonathan Wakely
On 05/09/19 15:45 -0400, Ed Smith-Rowland via libstdc++ wrote: Here is a patch to the libstdc++ docs re constexpr additions. They reflect the latest macro assignments AFAICT. Constexpr interator reqs are implemented in 9.1, the rest for 10.1. Ok? Should I bother adding the Constexpr interator

Re: [PATCH V6 02/11] opt-functions.awk: fix comparison of limit, begin and end

2019-09-09 Thread Jose E. Marchesi
The function integer_range_info makes sure that, if provided, the initial value fills in the especified range. However, it is necessary to convert the values to a numerical context before comparing, to make sure awk is using arithmetical order and not lexicographical order.

Re: [PATCH V6 03/11] testsuite: annotate c-torture/compile tests with dg-require-stack-size

2019-09-09 Thread Jose E. Marchesi
This patch annotates tests that make use of a significant a mount of stack space. Embedded and other restricted targets may have problems compiling and running these tests. Note that the annotations are in many cases not exact. As this implements a solution proposed by Jeff Law

Re: [PATCH V6 04/11] testsuite: new require effective target indirect_calls

2019-09-09 Thread Jose E. Marchesi
This patch adds a new dg_require_effective_target procedure to the testsuite infrastructure: indirect_calls. This new function tells whether a target supports calls to non-constant call targets. This patch also annotates the tests in the gcc.c-torture testuite that requi

Re: [RFC][PATCH 5/X][libsanitizer] Introduce longjmp/setjmp interceptors to libhwasan

2019-09-09 Thread Martin Liška
Hi. On 9/6/19 4:46 PM, Matthew Malcomson wrote: > Ensuring that the shadow stack is cleared on normal function exit will > be done by adding instrumentation to the function epilogue through the > compiler. > longjmp and setjmp are some abnormal methods of exiting the function > that can't be handl

Re: [RFC][PATCH 6/X][libsanitizer] Add -fsanitize=hwaddress flags

2019-09-09 Thread Martin Liška
On 9/6/19 4:46 PM, Matthew Malcomson wrote: > This flag can't be used at the same time as any of the other sanitizers. > We add an equivalent flag to -static-libasan in -static-libhwasan to > ensure static linking. Hello. You're introducing new option argument -fsanitize=hwaddress. However, clang

Re: [PATCH] Fix up -funsigned-char behavior of _mm256_cmpgt_epi8 (PR target/91704)

2019-09-09 Thread Uros Bizjak
On Mon, Sep 9, 2019 at 11:18 AM Jakub Jelinek wrote: > > Hi! > > This PR is a repetition of PR87853, just for avx2 instead of sse2. > See https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00195.html > for the previous patch. > > This time there is just one intrinsic with the problem (note, the previou

Re: [RFC][PATCH 6/X][libsanitizer] Add -fsanitize=hwaddress flags

2019-09-09 Thread Matthew Malcomson
On 09/09/19 11:06, Martin Liška wrote: > On 9/6/19 4:46 PM, Matthew Malcomson wrote: >> This flag can't be used at the same time as any of the other sanitizers. >> We add an equivalent flag to -static-libasan in -static-libhwasan to >> ensure static linking. > > Hello. > > You're introducing new

Re: [RFC][PATCH 6/X][libsanitizer] Add -fsanitize=hwaddress flags

2019-09-09 Thread Martin Liška
On 9/9/19 12:17 PM, Matthew Malcomson wrote: > On 09/09/19 11:06, Martin Liška wrote: >> On 9/6/19 4:46 PM, Matthew Malcomson wrote: >>> This flag can't be used at the same time as any of the other sanitizers. >>> We add an equivalent flag to -static-libasan in -static-libhwasan to >>> ensure stati

Re: [PATCH V6 05/11] bpf: new GCC port

2019-09-09 Thread Jose E. Marchesi
I think the bits are in good enough shape they can go in now. I just committed the port to svn trunk, in a single commit, yay! Many thanks to you, richard, seguer and the other reviewers for the great feedback and suggestions. What got committed is certainly WAY better than what I subm

Re: [RFC][PATCH 5/X][libsanitizer] Introduce longjmp/setjmp interceptors to libhwasan

2019-09-09 Thread Matthew Malcomson
On 09/09/19 11:01, Martin Liška wrote: > Hi. > > On 9/6/19 4:46 PM, Matthew Malcomson wrote: >> Ensuring that the shadow stack is cleared on normal function exit will >> be done by adding instrumentation to the function epilogue through the >> compiler. >> longjmp and setjmp are some abnormal meth

Re: [Patch 0/X] [WIP][RFC][libsanitizer] Introduce HWASAN to GCC

2019-09-09 Thread Martin Liška
On 9/6/19 4:46 PM, Matthew Malcomson wrote: > Hello, > > This patch series is a WORK-IN-PROGRESS towards porting the LLVM hardware > address sanitizer (HWASAN) in GCC. The document describing HWASAN can be > found > here http://clang.llvm.org/docs/HardwareAssistedAddressSanitizerDesign.html. He

Re: [RFC][PATCH 5/X][libsanitizer] Introduce longjmp/setjmp interceptors to libhwasan

2019-09-09 Thread Martin Liška
On 9/9/19 12:29 PM, Matthew Malcomson wrote: > On 09/09/19 11:01, Martin Liška wrote: >> Hi. >> >> On 9/6/19 4:46 PM, Matthew Malcomson wrote: >>> Ensuring that the shadow stack is cleared on normal function exit will >>> be done by adding instrumentation to the function epilogue through the >>> co

Re: [PATCH] Deprecate -frepo option.

2019-09-09 Thread Martin Liška
On 9/6/19 4:56 PM, Jakub Jelinek wrote: > On Fri, Sep 06, 2019 at 10:48:53AM -0400, Marek Polacek wrote: >> On Fri, Sep 06, 2019 at 08:58:48AM +0200, Martin Liška wrote: >>> Ok, hopefully nobody is strongly against. I've just retested the >>> patch and installed it as r275450. >> >> --- a/gcc/c-fam

Re: [PATCH] Deprecate -frepo option.

2019-09-09 Thread Jakub Jelinek
On Mon, Sep 09, 2019 at 01:02:32PM +0200, Martin Liška wrote: > On 9/6/19 4:56 PM, Jakub Jelinek wrote: > > On Fri, Sep 06, 2019 at 10:48:53AM -0400, Marek Polacek wrote: > >> On Fri, Sep 06, 2019 at 08:58:48AM +0200, Martin Liška wrote: > >>> Ok, hopefully nobody is strongly against. I've just ret

Re: [ PATCH ] C++20

2019-09-09 Thread Jonathan Wakely
And some further simplifications and improvements to the constructor constraints for std::span. This patch simplifies the constraints on the constructors from arrays by removing the redundant checks that element_type and value_type are convertible to element_type. The incorrect uses of _

Re: [PATCH] Optimize to_chars

2019-09-09 Thread Jonathan Wakely
On 08/09/19 16:44 +0300, Antony Polukhin wrote: We've already beaten this topic to death, so let's put a final nail in the coffin: __to_chars_10_impl is quite fast. According to the IACA the main loop takes only 6.0 cycles, the whole function with one iteration takes 10.0 cycles. Replacing the

Re: [SVE] PR86753

2019-09-09 Thread Richard Sandiford
Prathamesh Kulkarni writes: > With patch, the only following FAIL remains for aarch64-sve.exp: > FAIL: gcc.target/aarch64/sve/cond_unary_2.c -march=armv8.2-a+sve > scan-assembler-times \\tmovprfx\\t 6 > which now contains 14. > Should I adjust the test, assuming the change isn't a regression ? We

Remove bt-load.c

2019-09-09 Thread Richard Sandiford
bt-load.c has AFAIK been dead code since the removal of the SH5 port in 2016. I have a patch series that would need to update the liveness tracking in a nontrivial way, so it seemed better to remove the pass rather than install an untested and probably bogus change. Tested on aarch64-linux-gnu, x

[PATCH] Update comment of removed options.

2019-09-09 Thread Martin Liška
On 9/9/19 1:08 PM, Jakub Jelinek wrote: > On Mon, Sep 09, 2019 at 01:02:32PM +0200, Martin Liška wrote: >> On 9/6/19 4:56 PM, Jakub Jelinek wrote: >>> On Fri, Sep 06, 2019 at 10:48:53AM -0400, Marek Polacek wrote: On Fri, Sep 06, 2019 at 08:58:48AM +0200, Martin Liška wrote: > Ok, hopefull

Make note_stores take an rtx_insn

2019-09-09 Thread Richard Sandiford
I have a series of patches that (as a side effect) makes all rtl passes use the information collected by -fipa-ra. This showed up a latent bug in the liveness tracking in regrename.c, which doesn't take CALL_INSN_FUNCTION_USAGE into account when processing clobbers. This actually seems to be quit

Re: [PATCH] Update comment of removed options.

2019-09-09 Thread Jonathan Wakely
On Mon, 9 Sep 2019 at 12:24, Martin Liška wrote: > > On 9/9/19 1:08 PM, Jakub Jelinek wrote: > > On Mon, Sep 09, 2019 at 01:02:32PM +0200, Martin Liška wrote: > >> On 9/6/19 4:56 PM, Jakub Jelinek wrote: > >>> On Fri, Sep 06, 2019 at 10:48:53AM -0400, Marek Polacek wrote: > On Fri, Sep 06, 20

Re: [PATCH] Update comment of removed options.

2019-09-09 Thread Jakub Jelinek
On Mon, Sep 09, 2019 at 01:24:53PM +0200, Martin Liška wrote: > You are right. What about the suggested patch? Can you please quickly (say with svn blame) double check whether the descriptions weren't actually right but misleading (an option could be deprecated in N and removed in N+1 or so, so se

Re: [PATCH] Update comment of removed options.

2019-09-09 Thread Martin Liška
On 9/9/19 1:39 PM, Jakub Jelinek wrote: > On Mon, Sep 09, 2019 at 01:24:53PM +0200, Martin Liška wrote: >> You are right. What about the suggested patch? > > Can you please quickly (say with svn blame) double check whether the > descriptions weren't actually right but misleading (an option could >

[PATCH] Make LTO link pick up compile-time -g

2019-09-09 Thread Richard Biener
Currently when you compile with -g -flto and then link without repeating -g you'll get a binary that has all early debug but none of the late because the driver doesn't pass -g along to the LTRANS stage. This has always been the case and as with other options "guessing" correctly is hard. The f

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Martin Liška
Hi. I'm sending slightly updated version of the patch where we need to properly select type in maybe_fold_comparisons_from_match_pd function for the created SSA_NAMEs. We can be called for a VECTOR_TYPE and so that we can't return a boolean_type_node. Patch can bootstrap on x86_64-linux-gnu and s

[PATCH 3/5] Rewrite part of and_comparisons_1 into match.pd.

2019-09-09 Thread Martin Liška
Hi. The patch is about transition of and_comparisons_1 matching into match.pd. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From 15045058d6caf84734ea949a297b6e31d9a8647c Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 6 Sep

[PATCH 4/5] Rewrite first part of or_comparisons_1 into match.pd.

2019-09-09 Thread Martin Liška
Hi. Next part if about transition of part of the OR patterns into match.pd. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From 0cc83b72025d243e9e6ebaa9a85c68c17f9cd09a Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 6 Sep 20

[PATCH 5/5] Rewrite second part of or_comparisons_1 into match.pd.

2019-09-09 Thread Martin Liška
And finally the second part of OR patterns. Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin >From 621d25811179bce8a8ad58a88b742528e97917d6 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Fri, 6 Sep 2019 12:59:36 +0200 Subject: [PATCH

Re: [PATCH] Come up with json::integer_number and use it in GCOV.

2019-09-09 Thread Martin Liška
PING^3 On 8/30/19 10:55 AM, Martin Liška wrote: > PING^2 > > On 8/26/19 2:34 PM, Martin Liška wrote: >> PING^1 >> >> On 8/13/19 1:51 PM, Martin Liška wrote: >>> On 8/2/19 2:40 PM, David Malcolm wrote: Something that occurred to me reading the updated patch: maybe it would make things ea

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-09-09 Thread Martin Liška
PING^1 On 8/26/19 12:04 PM, Martin Liška wrote: > Ok. I have a semi-working patch that has issues for inline clones. > When we call cgraph_node::get_untransformed_body for an inline clone, > then one needs to use clone_of->order to find proper LTO stream. > > What's more problematic is that such

Re: [PATCH] Make LTO link pick up compile-time -g

2019-09-09 Thread Matthias Klose
On 09.09.19 14:02, Richard Biener wrote: So this is really a very poor mans solution that also might uncover issues with -g0 at compile-time vs. -g at link-time if there are mixed -g0/g TUs in the LTO link. Could this be documented, at least in the man page? e.g. invoke.texi. As a bonus I wou

[PATCH] Rename Deprecated to IgnoreWarn in *.opt files.

2019-09-09 Thread Martin Liška
Hi. I'm suggesting to rename Deprecated to IgnoreWarn as deprecated means that an option is still working, but marked as obsolete. We use the name for options that removed (no longer supported), but still supported for backward compatibility. Patch can bootstrap on x86_64-linux-gnu and survives r

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Richard Biener
On Mon, 9 Sep 2019, Martin Liška wrote: > Hi. > > I'm sending slightly updated version of the patch where we > need to properly select type in maybe_fold_comparisons_from_match_pd > function for the created SSA_NAMEs. We can be called for a VECTOR_TYPE > and so that we can't return a boolean_type

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Marc Glisse
On Mon, 9 Sep 2019, Martin Liška wrote: I'm sending slightly updated version of the patch where we need to properly select type in maybe_fold_comparisons_from_match_pd function for the created SSA_NAMEs. We can be called for a VECTOR_TYPE and so that we can't return a boolean_type_node. + tre

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Martin Liška
On 9/9/19 3:10 PM, Marc Glisse wrote: > On Mon, 9 Sep 2019, Martin Liška wrote: > >> I'm sending slightly updated version of the patch where we >> need to properly select type in maybe_fold_comparisons_from_match_pd >> function for the created SSA_NAMEs. We can be called for a VECTOR_TYPE >> and s

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Richard Biener
On Mon, 9 Sep 2019, Martin Liška wrote: > On 9/9/19 3:10 PM, Marc Glisse wrote: > > On Mon, 9 Sep 2019, Martin Liška wrote: > > > >> I'm sending slightly updated version of the patch where we > >> need to properly select type in maybe_fold_comparisons_from_match_pd > >> function for the created S

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Martin Liška
On 9/9/19 3:10 PM, Richard Biener wrote: > On Mon, 9 Sep 2019, Martin Liška wrote: > >> Hi. >> >> I'm sending slightly updated version of the patch where we >> need to properly select type in maybe_fold_comparisons_from_match_pd >> function for the created SSA_NAMEs. We can be called for a VECTOR_

Re: [PATCH 3/5] Rewrite part of and_comparisons_1 into match.pd.

2019-09-09 Thread Martin Liška
On 9/9/19 2:24 PM, Martin Liška wrote: > Hi. > > The patch is about transition of and_comparisons_1 matching > into match.pd. > > Patch can bootstrap on x86_64-linux-gnu and survives regression tests. > > Ready to be installed? > Thanks, > Martin > Updated version (as mentioned in part 1). Ma

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Richard Biener
On Mon, 9 Sep 2019, Martin Liška wrote: > On 9/9/19 3:10 PM, Richard Biener wrote: > > On Mon, 9 Sep 2019, Martin Liška wrote: > > > >> Hi. > >> > >> I'm sending slightly updated version of the patch where we > >> need to properly select type in maybe_fold_comparisons_from_match_pd > >> function

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Martin Liška
On 9/9/19 3:42 PM, Richard Biener wrote: > There is no newly created GIMPLE? Hm, I thought from the beginning that maybe_fold_comparisons_from_match_pd can come up with new temporary expressions that need to be inserted into GIMPLE stream? But that's probably handled in ifcombine with:

Re: [PATCH] Make LTO link pick up compile-time -g

2019-09-09 Thread Richard Biener
On Mon, 9 Sep 2019, Matthias Klose wrote: > On 09.09.19 14:02, Richard Biener wrote: > > So this is really a very poor mans solution that also might > > uncover issues with -g0 at compile-time vs. -g at link-time > > if there are mixed -g0/g TUs in the LTO link. > > Could this be documented, at l

[PATCH] Fortran - character type names in errors and warning - for review

2019-09-09 Thread Mark Eggleston
Currently character type names are given as CHARACTER(1) or CHARACTER(4) for unicode.  I find this misleading as I would expect the length to be used instead of the kind. I changed gfc_typename in misc.c to use the character length structure in the gfc_typespec structure. This works fine for c

Re: [PATCH 1/2] Auto-generate maybe_fold_and/or_comparisons from match.pd

2019-09-09 Thread Richard Biener
On Mon, 9 Sep 2019, Martin Liška wrote: > On 9/9/19 3:42 PM, Richard Biener wrote: > > There is no newly created GIMPLE? > > Hm, I thought from the beginning that maybe_fold_comparisons_from_match_pd > can come up with new temporary expressions that need to be inserted into > GIMPLE stream? But t

Re: [PATCH] Rename Deprecated to IgnoreWarn in *.opt files.

2019-09-09 Thread Segher Boessenkool
Hi Martin, On Mon, Sep 09, 2019 at 03:04:20PM +0200, Martin Liška wrote: > I'm suggesting to rename Deprecated to IgnoreWarn That is an even worse name IMO. Just call it Removed or Deleted or something like that? Something that says what it _is_, not something that is an amalgamate of how we sh

Re: [PATCH] Make LTO link pick up compile-time -g

2019-09-09 Thread Matthias Klose
On 09.09.19 15:51, Richard Biener wrote: On Mon, 9 Sep 2019, Matthias Klose wrote: On 09.09.19 14:02, Richard Biener wrote: So this is really a very poor mans solution that also might uncover issues with -g0 at compile-time vs. -g at link-time if there are mixed -g0/g TUs in the LTO link. Co

Re: [PATCH] Rename Deprecated to IgnoreWarn in *.opt files.

2019-09-09 Thread Jakub Jelinek
On Mon, Sep 09, 2019 at 08:56:17AM -0500, Segher Boessenkool wrote: > Hi Martin, > > On Mon, Sep 09, 2019 at 03:04:20PM +0200, Martin Liška wrote: > > I'm suggesting to rename Deprecated to IgnoreWarn > > That is an even worse name IMO. > > Just call it Removed or Deleted or something like that?

Re: [PATCH] Rename Deprecated to IgnoreWarn in *.opt files.

2019-09-09 Thread Segher Boessenkool
On Mon, Sep 09, 2019 at 04:04:01PM +0200, Jakub Jelinek wrote: > On Mon, Sep 09, 2019 at 08:56:17AM -0500, Segher Boessenkool wrote: > > Hi Martin, > > > > On Mon, Sep 09, 2019 at 03:04:20PM +0200, Martin Liška wrote: > > > I'm suggesting to rename Deprecated to IgnoreWarn > > > > That is an even

Re: [PATCH] Rename Deprecated to IgnoreWarn in *.opt files.

2019-09-09 Thread Jakub Jelinek
On Mon, Sep 09, 2019 at 09:08:43AM -0500, Segher Boessenkool wrote: > On Mon, Sep 09, 2019 at 04:04:01PM +0200, Jakub Jelinek wrote: > > On Mon, Sep 09, 2019 at 08:56:17AM -0500, Segher Boessenkool wrote: > > > Hi Martin, > > > > > > On Mon, Sep 09, 2019 at 03:04:20PM +0200, Martin Liška wrote: >

Re: [PATCH] Use type alignment in get_builtin_sync_mem

2019-09-09 Thread Ulrich Weigand
Richard Biener wrote: > On Fri, Sep 6, 2019 at 3:00 PM Ulrich Weigand wrote: > > But as far as I can see, for *atomic* operations at least, we do make > > that assumption. The x86 back-end for example just assumes that any > > "int" or "long" object that is the target of an atomic operation is >

Re: r272976 - in /trunk/gcc/ada: ChangeLog ali.adb ...

2019-09-09 Thread Christophe Lyon
On Thu, 5 Sep 2019 at 11:52, Arnaud Charlet wrote: > > > > Can someone please remind me in which repository I can find the GCC > > > prerequisites doc sources? > > > > Answering my own question: found it under gcc/doc/install.texi > > > > Working on it... > > Just installed the following change on

Re: [PATCH] Prevent LTO section collision for a symbol name starting with '*'.

2019-09-09 Thread Jan Hubicka
> PING^1 > > On 8/26/19 12:04 PM, Martin Liška wrote: > > Ok. I have a semi-working patch that has issues for inline clones. > > When we call cgraph_node::get_untransformed_body for an inline clone, > > then one needs to use clone_of->order to find proper LTO stream. This seems OK to me - when us

Re: [PATCH][gcc] libgccjit: handle long literals in playback::context::new_string_literal

2019-09-09 Thread Andrea Corallo
Andrea Corallo writes: > Hi all, > yesterday I've found an interesting bug in libgccjit. > Seems we have an hard limitation of 200 characters for literal strings. > Attempting to create longer strings lead to ICE during pass_expand > while performing a sanity check in get_constant_size. > > Trac

Re: r272976 - in /trunk/gcc/ada: ChangeLog ali.adb ...

2019-09-09 Thread Arnaud Charlet
> > Just installed the following change on trunk, thanks again for your > > feedback! > > > > 2019-09-05 Arnaud Charlet > > > > * doc/install.texi: Update and clarify requirements to build GNAT. > > > Hi Arnaud, > > It seems there's a problem with this patch: > /snapshots/gcc.git~maste

Re: r272976 - in /trunk/gcc/ada: ChangeLog ali.adb ...

2019-09-09 Thread Christophe Lyon
On Mon, 9 Sep 2019 at 17:18, Arnaud Charlet wrote: > > > > Just installed the following change on trunk, thanks again for your > > > feedback! > > > > > > 2019-09-05 Arnaud Charlet > > > > > > * doc/install.texi: Update and clarify requirements to build GNAT. > > > > > Hi Arnaud, > > >

Re: Remove bt-load.c

2019-09-09 Thread Jeff Law
On 9/9/19 5:21 AM, Richard Sandiford wrote: > bt-load.c has AFAIK been dead code since the removal of the SH5 port > in 2016. I have a patch series that would need to update the liveness > tracking in a nontrivial way, so it seemed better to remove the pass > rather than install an untested and pr

[ARM/FDPIC v6 00/24] FDPIC ABI for ARM

2019-09-09 Thread Christophe Lyon
Hello, Since all patches of v5 have now been approved, I'm posting v6 to share the actual patches I'm about to commit (some had minor changes compared to v5). Thanks to the reviewers, Christophe Changes between v5 and v6: - rebased on top of recent gcc-10 master (September 9th, 2019) - fixed li

[ARM/FDPIC v6 01/24] [ARM] FDPIC: Add -mfdpic option support

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon 2019-XX-XX Christophe Lyon Mickaël Guêné gcc/ * config/arm/arm.opt: Add -mfdpic option. * doc/invoke.texi: Add documentation for -mfdpic. Change-Id: I05b98d6ae87c2b3fc04dd7fba415c730accdf33e diff --git a/gcc/config/arm/arm.opt b/gcc/co

[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon The new arm-uclinuxfdpiceabi target behaves pretty much like arm-linux-gnueabi. In order to enable the same set of features, we have to update several configure scripts that generally match targets like *-*-linux*: in most places, we add *-uclinux* where there is already *-l

[ARM/FDPIC v6 03/24] [ARM] FDPIC: Force FDPIC related options unless -mno-fdpic is provided

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon In FDPIC mode, we set -fPIE unless the user provides -fno-PIE, -fpie, -fPIC or -fpic: indeed FDPIC code is PIC, but we want to generate code for executables rather than shared libraries by default. We also make sure to use the --fdpic assembler option, and select the approp

[ARM/FDPIC v6 04/24] [ARM] FDPIC: Add support for FDPIC for arm architecture

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon The FDPIC register is hard-coded to r9, as defined in the ABI. We have to disable tailcall optimizations if we don't know if the target function is in the same module. If not, we have to set r9 to the value associated with the target module. When generating a symbol addres

[ARM/FDPIC v6 05/24] [ARM] FDPIC: Fix __do_global_dtors_aux and frame_dummy generation

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon In FDPIC, we need to make sure __do_global_dtors_aux and frame_dummy are referenced by their address, not by pointers to the function descriptors. 2019-XX-XX Christophe Lyon Mickaël Guêné libgcc/ * libgcc/crtstuff.c: Add support for FDPIC. Chan

[ARM/FDPIC v6 06/24] [ARM] FDPIC: Add support for c++ exceptions

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon The main difference with existing support is that function addresses are function descriptor addresses instead. This means that all code dealing with function pointers now has to cope with function descriptors instead. For the same reason, Linux kernel helpers can no longer

[ARM/FDPIC v6 07/24] [ARM] FDPIC: Avoid saving/restoring r9 on stack since it is read-only

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon 2019-XX-XX Christophe Lyon Mickaël Guêné gcc/ * config/arm/arm.h (PIC_REGISTER_MAY_NEED_SAVING): New helper. * config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Handle FDPIC. Change-Id: I0f3b2023ab2a2a0433dfe081dac6bbb194b7a76

[ARM/FDPIC v6 08/24] [ARM] FDPIC: Enforce local/global binding for function descriptors

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Use local binding rules to decide whether we can use GOTOFFFUNCDESC to compute the function address. 2019-XX-XX Christophe Lyon Mickaël Guêné gcc/ * config/arm/arm.c (arm_fdpic_local_funcdesc_p): New function. (legitimize_pic_address): E

[ARM/FDPIC v6 09/24] [ARM] FDPIC: Add support for taking address of nested function

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon In FDPIC mode, the trampoline generated to support pointers to nested functions looks like: .wordtrampoline address .wordtrampoline GOT address ldr r12, [pc, #8] ldr r9, [pc, #8] ldr

[ARM/FDPIC v6 10/24] [ARM] FDPIC: Implement TLS support.

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Support additional relocations: TLS_GD32_FDPIC, TLS_LDM32_FDPIC, and TLS_IE32_FDPIC. We do not support the GNU2 TLS dialect. 2019-XX-XX Christophe Lyon Mickaël Guêné gcc/ * config/arm/arm.c (tls_reloc): Add TLS_GD32_FDPIC, TLS_LDM32_FDP

[ARM/FDPIC v6 11/24] [ARM] FDPIC: Add support to unwind FDPIC signal frame

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon 2019-XX-XX Christophe Lyon Mickaël Guêné libgcc/ * unwind-arm-common.inc (ARM_SET_R7_RT_SIGRETURN) (THUMB2_SET_R7_RT_SIGRETURN, FDPIC_LDR_R12_WITH_FUNCDESC) (FDPIC_LDR_R9_WITH_GOT, FDPIC_LDR_PC_WITH_RESTORER) (FDPIC_FUNCDE

[ARM/FDPIC v6 12/24] [ARM] FDPIC: Restore r9 after we call __aeabi_read_tp

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon We call __aeabi_read_tp() to get the thread pointer. Since this is a function call, we have to restore the FDPIC register afterwards. 2019-XX-XX Christophe Lyon Mickaël Guêné gcc/ * config/arm/arm.c (arm_load_tp): Add FDPIC support. * co

[ARM/FDPIC v6 13/24] [ARM] FDPIC: Force LSB bit for PC in Cortex-M architecture

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Without this, when we are unwinding across a signal frame we can jump to an even address which leads to an exception. This is needed in __gnu_persnality_sigframe_fdpic() when restoring the PC from the signal frame since the PC saved by the kernel has the LSB bit set to zero

[ARM/FDPIC v6 14/24] [ARM][testsuite] FDPIC: Skip unsupported tests

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Several tests cannot work on ARM-FDPIC for various reasons: skip them, or skip some directives. gcc.dg/20020312-2.c: Skip since it forces -fno-pic. gcc.target/arm/: * Skip since r9 is clobbered by assembly code: 20051215-1.c mmx-1.c pr61948.c pr77933-1.c pr77933-

[ARM/FDPIC v6 15/24] [ARM][testsuite] FDPIC: Adjust scan-assembler patterns.

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon In FDPIC mode, r9 is saved in addition to other registers, so update the expected patterns accordingly. 2019-XX-XX Christophe Lyon Mickaël Guêné * gcc/testsuite/ * gcc.target/arm/interrupt-1.c: Add scan-assembler pattern for arm*-*-uclin

[ARM/FDPIC v6 16/24] [ARM][testsuite] FDPIC: Skip tests that don't work in PIC mode

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Some tests fail on arm*-*-uclinuxfdpiceabi because it generates PIC code and they don't support it: skip them. They also fail on arm*-linux* when forcing -fPIC. 2019-XX-XX Christophe Lyon gcc/testsuite/ * gcc.target/arm/eliminate.c: Accept only nonpic ta

[ARM/FDPIC v6 17/24] [ARM][testsuite] FDPIC: Handle *-*-uclinux*

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Add *-*-uclinux* to tests that work on this target. 2019-XX-XX Christophe Lyon gcc/testsuite/ * g++.dg/abi/forced.C: Add *-*-uclinux*. * g++.dg/abi/guard2.C: Likewise. * g++.dg/ext/cleanup-10.C: Likewise. * g++.dg/ext/cleanup-11.C

[ARM/FDPIC v6 18/24] [ARM][testsuite] FDPIC: Enable tests on pie_enabled targets

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Some tests have the "nonpic" guard, but pass on arm*-*-uclinuxfdpiceabi because it is in PIE mode by default. Rather than adding this target to all these tests, add the "pie_enabled" effective target. 2019-XX-XX Christophe Lyon gcc/testsuite/ * g++.dg/cp

[ARM/FDPIC v6 19/24] [ARM][testsuite] FDPIC: Adjust pr43698.c to avoid clash with uclibc.

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon uclibc defines bswap_32, so use a different name in this test. 2019-XX-XX Christophe Lyon gcc/testsuite/ * gcc.target/arm/pr43698.c (bswap_32): Rename as my_bswap_32. Change-Id: I2591bd911030814331cabf97ee5cf6cf8124b4f3 diff --git a/gcc/testsuite/gcc.t

[0/9] Make HARD_REG_SETs easier to use

2019-09-09 Thread Richard Sandiford
I have a series of patches that allows several ABIs to be used interoperably within the same translation unit. Part of that involves removing our reliance on global register sets that describe "the ABI". One of the difficulties is that we have several global sets that contain related information.

[ARM/FDPIC v6 20/24] [ARM][testsuite] FDPIC: Skip tests using architectures unsupported by FDPIC

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Since FDPIC currently supports arm and thumb-2 modes only, these tests fail because they enforce an architecture version that doesn't match these restrictions. This patch introduces new values for the arm_arch effective-target (v4t_thumb, v5t_thumb, v5te_thumb, v6_thumb, v6

[ARM/FDPIC v6 21/24] [ARM] FDPIC: Handle stack-protector combined patterns

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon The recent stack_protect_combined_set_insn and stack_protect_combined_test_insn force recomputing of GOT base, but need to take into account that in FDPIC mode, the PIC register is fixed by the ABI (r9). 2019-XX-XX Christophe Lyon gcc/ * config/arm/arm.m

[ARM/FDPIC v6 22/24] [ARM][testsuite] FDPIC: Skip tests that require -static support

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon Since FDPIC does not support -static, skip the related tests. 2019-XX-XX Christophe Lyon gcc/testsuite/ * lib/target-supports.exp (check_effective_target_static): Disable for ARM FDPIC target. Change-Id: I119d0541e53f2f1e531540b20e7bc47d8338d89a

[ARM/FDPIC v6 23/24] [ARM] FDPIC: Implement libitm support.

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon The ldaddr macro in sjlj.S needs to be updated to support the FDPIC model. 2019-XX-XX Christophe Lyon libitm/ * config/arm/sjlj.S (ldaddr): Add FDPIC support. Change-Id: Ieb2c6613363341d109c3500af0575b133b17407d diff --git a/libitm/config/arm/sjlj.S b/

[ARM/FDPIC v6 24/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in libstdc++ configure scripts

2019-09-09 Thread Christophe Lyon
From: Christophe Lyon 2019-XX-XX Christophe Lyon libstdc++-v3/ * acinclude.m4: Handle uclinux*. * configure: Regenerate. * configure.host: Handle uclinux* Change-Id: Ia1b53693625e4153a090fcfc925a4d605bc98e59 diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-

[1/9] Simplify the implementation of HARD_REG_SET

2019-09-09 Thread Richard Sandiford
We have two styles of HARD_REG_SET: a single integer based on HOST_WIDEST_FAST_INT (used when FIRST_PSEUDO_REGISTER is small enough) or an array of integers. One of the nice properties of this arrangement is that: void foo (const HARD_REG_SET); is passed by value as an integer when the set is

Re: [Patch 0/X] [WIP][RFC][libsanitizer] Introduce HWASAN to GCC

2019-09-09 Thread Matthew Malcomson
On 09/09/19 11:47, Martin Liška wrote: > On 9/6/19 4:46 PM, Matthew Malcomson wrote: >> Hello, >> >> This patch series is a WORK-IN-PROGRESS towards porting the LLVM hardware >> address sanitizer (HWASAN) in GCC. The document describing HWASAN can be >> found >> here http://clang.llvm.org/docs/Ha

[2/9] Remove COPY_HARD_REG_SET

2019-09-09 Thread Richard Sandiford
This patch replaces "COPY_HARD_REG_SET (x, y)" with "x = y". 2019-09-09 Richard Sandiford gcc/ * hard-reg-set.h (COPY_HARD_REG_SET): Delete. * caller-save.c (save_call_clobbered_regs): Use assignment instead of COPY_HARD_REG_SET. * config/epiphany/epiphany.c (e

  1   2   >