[PATCH] Improve debug info in ivopts optimized loops (PR debug/90231)

2019-10-18 Thread Jakub Jelinek
Hi! As mentioned in the PR, the following patch attempts to address two issues. In remove_unused_ivs we first find the best iv_cand (we prefer primarily the same step, next same mode and lastly constant base) and only then call get_computation_at to determine the replacement expression. Unfortuna

[PATCH] Improve code generation of v += (c == 0) etc. on x86 (PR target/92140)

2019-10-18 Thread Jakub Jelinek
Hi! As mentioned in the PR, x == 0 can be equivalently tested as x < 1U and the latter form has the advantage that it sets the carry flag and if it is consumed by an instruction that can directly use the carry flag, it is a win. The following patch adds a couple of (pre-reload only) define_insn_an

Re: [ C++ ] [ PATCH ] [ RFC ] p1301 - [[nodiscard("should have a reason")]]

2019-10-18 Thread Jason Merrill
On 10/18/19 1:54 AM, JeanHeyd Meneide wrote: ... And I am very tired and forgot to attach the patch. Again. Sorry...! On Fri, Oct 18, 2019 at 1:54 AM JeanHeyd Meneide wrote: Dear Jason, On Thu, Oct 17, 2019 at 3:51 PM Jason Merrill wrote: > FAIL: g++.dg/cpp0x/gen-attrs-67.C -std=c++11

Re: RFA [PATCH] * lock-and-run.sh: Check for process existence rather than timeout.

2019-10-18 Thread Alexandre Oliva
Hello, Jason, On Oct 14, 2019, Jason Merrill wrote: > Alex, you had a lot of helpful comments when I first wrote this, any thoughts > on this revision? I think the check of the pid file could be made slightly simpler and cheaper if we created it using: echo $$ > $lockdir/pidT && mv $lockdir

Re: [committed] correct strcmp() == 0 result for unknown strings (PR 92157)

2019-10-18 Thread Jeff Law
On 10/18/19 4:27 PM, Martin Sebor wrote: > The optimization to fold (strcmp() == 0) results involving > arrays/strings of unequal size/length has a bug where it is > unprepared for the compute_string_length() function to return > an invalid length as an indication that the length is unknown. > This

[committed] correct strcmp() == 0 result for unknown strings (PR 92157)

2019-10-18 Thread Martin Sebor
The optimization to fold (strcmp() == 0) results involving arrays/strings of unequal size/length has a bug where it is unprepared for the compute_string_length() function to return an invalid length as an indication that the length is unknown. This leads to some strings that are unequal being cons

[testsuite] Add test for PR91532

2019-10-18 Thread Prathamesh Kulkarni
Hi Richard, Sorry for not adding the test in PR91532 fix. Is the attached patch OK to commit ? Thanks, Prathamesh 2019-10-18 Prathamesh Kulkarni PR tree-optimization/91532 testsuite/ * gcc.target/aarch64/sve/fmla_2.c: Add dg-scan check for deleted store. diff --git a/gcc/tests

[PATCH 29/29] [arm] Fix testsuite nit when compiling for thumb2

2019-10-18 Thread Richard Earnshaw
In thumb2 we now generate a NEGS instruction rather than RSBS, so this test needs updating. * gcc.target/arm/negdi-3.c: Update expected output to allow NEGS. --- gcc/testsuite/gcc.target/arm/negdi-3.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/g

[PATCH 14/29] [arm] Early split simple DImode equality comparisons

2019-10-18 Thread Richard Earnshaw
This is the first step of early splitting all the DImode comparison operations. We start by factoring the DImode handling out of arm_gen_compare_reg into its own function. Simple DImode equality comparisions (such as equality with zero, or equality with a constant that is zero in one of the two

[PATCH 07/29] [arm] Remove redundant DImode subtract patterns

2019-10-18 Thread Richard Earnshaw
Now that we early split DImode subtracts, the patterns to emit the original and to match zero-extend with subtraction or negation are no-longer useful. * config/arm/arm.md (arm_subdi3): Delete insn. (zextendsidi_negsi, negdi_extendsidi): Delete insn_and_split. --- gcc/config/arm/

[PATCH 21/29] [arm] Improve code generation for addvsi4.

2019-10-18 Thread Richard Earnshaw
Similar to the improvements for uaddvsi4, this patch improves the code generation for addvsi4 to handle immediates and to add alternatives that better target thumb2. To do this we separate out the expansion of uaddvsi4 from that of uaddvdi4 and then add an additional pattern to handle constants.

[PATCH 06/29] [arm] Early split subdi3

2019-10-18 Thread Richard Earnshaw
This patch adds early splitting of subdi3 so that the individual operations can be seen by the optimizers, particuarly combine. This should allow us to do at least as good a job as previously, but with far fewer patterns in the machine description. This is just the initial patch to add the early

[PATCH 19/29] [arm] Handle immediate values in uaddvsi4

2019-10-18 Thread Richard Earnshaw
The uaddv patterns in the arm back-end do not currenty handle immediates during expansion. This patch adds this support for uaddvsi4. It's really a stepping-stone towards early expansion of uaddvdi4, but it complete and a useful change in its own right. Whilst making this change I also observed

[PATCH 18/29] [arm] Cleanup dead code - old support for DImode comparisons

2019-10-18 Thread Richard Earnshaw
Now that all the major patterns for DImode have been converted to early expansion, we can safely clean up some dead code for the old way of handling DImode. * config/arm/arm-modes.def (CC_NCV, CC_CZ): Delete CC modes. * config/arm/arm.c (arm_select_cc_mode): Remove old selection c

[PATCH 22/29] [arm] Allow the summation result of signed add-with-overflow to be discarded.

2019-10-18 Thread Richard Earnshaw
This patch matches the signed add-with-overflow patterns when the summation itself is dropped. In this case we can use CMN (or CMP with some immediates). There are a small number of constants in thumb2 where this can result in less dense code (as we lack 16-bit CMN with immediate patterns). To

[PATCH 20/29] [arm] Early expansion of uaddvdi4.

2019-10-18 Thread Richard Earnshaw
This code borrows strongly on the uaddvti4 expansion for aarch64 since the principles are similar. Firstly, if the one of the low words of the expansion is 0, we can simply copy the other low word to the destination and use uaddvsi4 for the upper word. If that doesn't work we have to handle thre

[PATCH 28/29] [arm] Improvements to negvsi4 and negvdi4.

2019-10-18 Thread Richard Earnshaw
The generic expansion code for negv does not try the subv patterns, but instead emits a sub and a compare separately. Fortunately, the patterns can make use of the new subv operations, so just call those. We can also rewrite this using an iterator to simplify things further. Finally, we can now m

[PATCH 04/29] [arm] Rewrite addsi3_carryin_shift_ in canonical form

2019-10-18 Thread Richard Earnshaw
The add-with-carry operation which involves a shift doesn't match at present because it isn't matching the canonical form generated by combine. Fixing this is simply a matter of re-ordering the operands. * config/arm/arm.md (addsi3_carryin_shift_): Reorder operands to match canon

[PATCH 15/29] [arm] Improve handling of DImode comparisions against constants.

2019-10-18 Thread Richard Earnshaw
In almost all cases it is better to handle inequality handling against constants by transforming comparisons of the form (reg const) into (reg (const+1)). However, there are many cases that we could handle but currently failed to do so because we forced the constant into a register too early in

[PATCH 26/29] [arm] Improve constant handling for subvsi4.

2019-10-18 Thread Richard Earnshaw
This patch addresses constant handling in subvsi4. Either operand may be a constant. If the second input (operand[2]) is a constant, then we can canonicalize this into an addition form, providing we take care of the INT_MIN case. In that case the negation has to handle the fact that -INT_MIN is

[PATCH 05/29] [arm] fix constraints on addsi3_carryin_alt2

2019-10-18 Thread Richard Earnshaw
addsi3_carryin_alt2 has a more strict constraint than the predicate when adding a constant. This leads to sub-optimal code in some circumstances. * config/arm/arm.md (addsi3_carryin_alt2): Use arm_not_operand for operand 2. --- gcc/config/arm/arm.md | 2 +- 1 file changed, 1 ins

[PATCH 17/29] [arm] Handle some constant comparisons using rsbs+rscs

2019-10-18 Thread Richard Earnshaw
In a small number of cases it is preferable to handle comparisons with constants using the sequence RSBStmp, Xlo, constlo RSCStmp, Xhi, consthi which allows us to handle a small number of LE/GT/LEU/GEU cases when changing the code to use LT/GE/LTU/GEU would make the const

[PATCH 08/29] [arm] Introduce arm_carry_operation

2019-10-18 Thread Richard Earnshaw
An earlier patch introduced arm_borrow_operation, this one introduces the carry variant, which is the same except that the logic of the carry-setting is inverted. Having done this we can now match more cases where the carry flag is propagated from comparisons with different modes without having t

[PATCH 09/29] [arm] Correctly cost addition with a carry-in

2019-10-18 Thread Richard Earnshaw
The cost routine for Arm and Thumb2 was not recognising the idioms that describe the addition with carry, this results in the instructions appearing more expensive than they really are, which occasionally can lead to poor choices by combine. Recognising all the possible variants is a little trick

[PATCH 11/29] [arm] Reduce cost of insns that are simple reg-reg moves.

2019-10-18 Thread Richard Earnshaw
Consider this sequence during combine: Trying 18, 7 -> 22: 18: r118:SI=r122:SI REG_DEAD r122:SI 7: r114:SI=0x1-r118:SI-ltu(cc:CC_RSB,0) REG_DEAD r118:SI REG_DEAD cc:CC_RSB 22: r1:SI=r114:SI REG_DEAD r114:SI Failed to match this instruction: (set (reg:SI 1 r1 [+4

[PATCH 13/29] [arm] Add alternative canonicalizations for subtract-with-carry + shift

2019-10-18 Thread Richard Earnshaw
This patch adds a couple of alternative canonicalizations to allow combine to match a subtract-with-carry operation when one of the operands is shifted first. The most common case of this is when combining a sign-extend of one operand with a long-long value during subtraction. The RSC variant is

[PATCH 27/29] [arm] Early expansion of subvdi4

2019-10-18 Thread Richard Earnshaw
This patch adds early expansion of subvdi4. The expansion sequence is broadly based on the expansion of usubvdi4. * config/arm/arm.md (subvdi4): Decompose calculation into 32-bit operations. (subdi3_compare1): Delete pattern. (subvsi3_borrow): New insn pattern.

[PATCH 23/29] [arm] Early split addvdi4

2019-10-18 Thread Richard Earnshaw
This patch adds early splitting for addvdi4; it's very similar to the uaddvdi4 splitter, but the details are just different enough in places, especially for the patterns that match the splitting, where we have to compare against the non-widened version to detect if overflow occurred. I've also ad

[PATCH 12/29] [arm] Implement negscc using SBC when appropriate.

2019-10-18 Thread Richard Earnshaw
When the carry flag is appropriately set by a comprison, negscc patterns can expand into a simple SBC of a register with itself. This means we can convert two conditional instructions into a single non-conditional instruction. Furthermore, in Thumb2 we can avoid the need for an IT instruction as

[PATCH 10/29] [arm] Correct cost calculations involving borrow for subtracts.

2019-10-18 Thread Richard Earnshaw
The rtx_cost calculations when a borrow operation was being performed were not being calculated correctly. The borrow is free as part of the subtract-with-carry instructions. This patch recognizes the various idioms that can describe this and returns the correct costs. * config/arm/arm.

[PATCH 25/29] [arm] Early expansion of usubvdi4.

2019-10-18 Thread Richard Earnshaw
This patch adds early expansion of usubvdi4, allowing us to handle some constants in place, which previously we were unable to do. * config/arm/arm.md (usubvdi4): Allow registers or integers for incoming operands. Early split the calculation into SImode operations.

[PATCH 24/29] [arm] Improve constant handling for usubvsi4.

2019-10-18 Thread Richard Earnshaw
This patch improves the expansion of usubvsi4 by allowing suitable constants to be passed directly. Unlike normal subtraction, either operand may be a constant (and indeed I have seen cases where both can be with LTO enabled). One interesting testcase that improves as a result of this is: unsig

[PATCH 16/29] [arm] early split most DImode comparison operations.

2019-10-18 Thread Richard Earnshaw
This patch does most of the work for early splitting the DImode comparisons. We now handle EQ, NE, LT, GE, LTU and GEU during early expansion, in addition to EQ and NE, for which the expansion has now been reworked to use a standard conditional-compare pattern already in the back-end. To handle

[PATCH 01/29] [arm] Rip out DImode addition and subtraction splits.

2019-10-18 Thread Richard Earnshaw
The first step towards early splitting of addition and subtraction at DImode is to rip out the old patterns that are designed to propagate DImode through the RTL optimization passes and the do late splitting. This patch does cause some code size regressions, but it should still execute correctly.

[PATCH 03/29] [arm] Early split zero- and sign-extension

2019-10-18 Thread Richard Earnshaw
This patch changes the insn patterns for zero- and sign-extend into define_expands that generate the appropriate word operations immediately. * config/arm/arm.md (zero_extenddi2): Convert to define_expand. (extenddi2): Likewise. --- gcc/config/arm/arm.md | 75

[PATCH 02/29] [arm] Perform early splitting of adddi3.

2019-10-18 Thread Richard Earnshaw
This patch causes the expansion of adddi3 to split the operation immediately for Arm and Thumb-2. This is desirable as it frees up the register allocator to pick what ever combination of registers suits best and reduces the number of auxiliary patterns that we need in the back-end. Three of the

[PATCH 00/29] [arm] Rewrite DImode arithmetic support

2019-10-18 Thread Richard Earnshaw
This series of patches rewrites all the DImode arithmetic patterns for the Arm backend when compiling for Arm or Thumb2 to split the operations during expand (the thumb1 code is unchanged and cannot benefit from early splitting as we are unable to expose the carry flag). This has a number of bene

Re: PR69455

2019-10-18 Thread Steve Kargl
On Fri, Oct 18, 2019 at 05:17:38PM +0100, Iain Sandoe wrote: > > something like this, perhaps (I regret my Fortran skills are in the f77 era): > If you know/knew F77 and have some working knowledge of C/C++ and you want to see where modern Fortran sits, I recommend Modern Fortran Explained iby M

Re: [Patch][Demangler] Fix for complex values

2019-10-18 Thread Miguel Saldivar
The only reason I wanted `float complex` was for interoperability between the two other demanglers. Although the go demangler does use `_Complex` and `_Imaginary`, so I guess it's sort of split. But I agree, `_Complex` and `_Imaginary` is probably the better option. Thanks, Miguel Saldivar On Fr

Re: [Patch, fortran] PR fortran/92142 - CFI_setpointer corrupts descriptor

2019-10-18 Thread Paul Richard Thomas
I will deal with this and various other issues associated with ISO_Fortran_binding tomorrow. Thanks for your help Paul On Thu, 17 Oct 2019 at 18:30, Tobias Burnus wrote: > > Hi, > > + fprintf (stderr, "CFI_setpointer: Result is NULL.\n"); > … > > + return CFI_INVALID_DESCRIPTOR; > > +! { d

Re: Implement ggc_trim

2019-10-18 Thread Jakub Jelinek
On Fri, Oct 11, 2019 at 09:03:53AM +0200, Jan Hubicka wrote: > Bootstrapped/regtested x86_64-linux, OK? > > * ggc-page.c (release_pages): Output statistics when !quiet_flag. > (ggc_collect): Dump later to not interfere with release_page dump. > (ggc_trim): New function. > *

Re: [PATCH] OpenACC 2.6 manual deep copy support (attach/detach)

2019-10-18 Thread Thomas Schwinge
Hi! While reviewing <20191003163505.49997-2-julian@codesourcery.com">http://mid.mail-archive.com/20191003163505.49997-2-julian@codesourcery.com> "OpenACC reference count overhaul", I've just now stumbled over one thing that originally was designed here: On 2018-12-10T19:41:37+, Julian Brown

Re: [Patch][Demangler] Fix for complex values

2019-10-18 Thread Ian Lance Taylor via gcc-patches
On Thu, Oct 17, 2019 at 10:20 PM Miguel Saldivar wrote: > > This is a small fix for Bug 67299, where symbol: `Z1fCf` which would become > `f(float complex)` instead of `f(floatcomplex )`. > I thought this would be the preferred way of printing, because both > `llvm-cxxfilt` and `cpp_filt` both pri

Re: Type representation in CTF and DWARF

2019-10-18 Thread Nick Alcock
On 18 Oct 2019, Pedro Alves stated: > On 10/18/19 2:21 PM, Richard Biener wrote: > In most cases local types etc are a fairly small contributor to the total volume -- but macros can contribute a lot in some codebases. >>> (The Linux kernel's READ_ONCE macro is one I've personally be

[C++ Patch] Improve cp_parser_class_head error recovery

2019-10-18 Thread Paolo Carlini
Hi, a few days ago I noticed that for, say, g++.dg/parse/qualified2.C we were issuing two additional misleading errors after the first one, mentioning in particular a certain "unnamed class" (I'm reproducing only the error messages proper): namespace Glib {   template class Value {};   temp

[patch,testsuite] More fixes for small targets.

2019-10-18 Thread Georg-Johann Lay
Here is some more cases fixed for small targets for noise reduction. Ok to apply? Johann gcc/testsuite/ Fix some fallout for small targets. PR testsuite/52641 * gcc.dg/torture/pr86034.c: Use 32-bit base type for a bitfield of width > 16 bits. * gcc.dg/to

[PATCH] Use narrow mode of constant when expanding widening multiplication

2019-10-18 Thread Jozef Lawrynowicz
I experienced the following ICE when working on a downstream patch for msp430: void foo (unsigned int r, unsigned int y) { __builtin_umul_overflow ((unsigned int) (-1), y, &r); } > msp430-elf-gcc -S tester.c -O0 tester.c: In function 'foo': tester.c:4:1: error: unrecognizable insn: 4 | }

Re: Type representation in CTF and DWARF

2019-10-18 Thread Pedro Alves
On 10/18/19 2:21 PM, Richard Biener wrote: >>> In most cases local types etc are a fairly small contributor to the >>> total volume -- but macros can contribute a lot in some codebases. >> (The >>> Linux kernel's READ_ONCE macro is one I've personally been bitten by >> in >>> the past, with a new

[match.pd] Mid-end fix for r277110

2019-10-18 Thread Yuliang Wang
Hi, SVE2 vectorization for BSL and NBSL fails when the element type is unsigned 8/16-bit. The operands are being converted implicitly to corresponding signed types, which the mid-end fold pattern does not take into account; this patch augments the pattern with type conversion checks in order t

[PATCH, OpenACC] Fortran deviceptr

2019-10-18 Thread Chung-Lin Tang
Hi Thomas, this is the updated Fortran deviceptr patche, originated from Cesar, and one of the tests was from James Norris: https://gcc.gnu.org/ml/gcc-patches/2018-05/msg00286.html https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00532.html There were a few style cleanups, but the goal of modificati

Re: [PATCH] Fix objsz ICE (PR tree-optimization/92056)

2019-10-18 Thread Martin Sebor
On 10/18/19 12:52 AM, Jakub Jelinek wrote: On Thu, Oct 17, 2019 at 06:07:37PM -0600, Martin Sebor wrote: On 10/17/19 1:00 AM, Jakub Jelinek wrote: Hi! The following bug has been introduced when cond_expr_object_size has been added in 2007. We want to treat a COND_EXPR like a PHI with 2 argume

[committed][Arm] Fix multilibs for Armv7-R (was Re: [PATCH][Arm] Fix multilibs for Armv7-R)

2019-10-18 Thread Andre Vieira (lists)
Hi, Updated the patch with respect to Richard Earnshaw's comments and committed in r277156. gcc/ChangeLog: 2019-10-18 Andre Vieira * config/arm/t-multilib: Add rule to regenerate mutlilib header file with any change to t-multilib, t-aprofile and t-rmprofile. Also ad

Re: C++ PATCH for c++/92062 - ODR-use ignored for static member of class template

2019-10-18 Thread Marek Polacek
Ping. On Fri, Oct 11, 2019 at 04:23:34PM -0400, Marek Polacek wrote: > has_value_dependent_address wasn't stripping location wrappers so it > gave the wrong answer for "&x" in the static_assert. That led us to > thinking that the expression isn't instantiation-dependent, and we > skipped static i

Re: Ping: Add a simulate_builin_function_decl langhook

2019-10-18 Thread Richard Sandiford
Here's a version rebased on top of Nathan's C++ patch yesterday. This actually makes the patch simpler; the changes to the frontends are now pure additions, so no existing frontend code should be affected. FWIW, this patch and the enum one: https://gcc.gnu.org/ml/gcc-patches/2019-09/msg01523.ht

Re: [PATCH] Multibyte awareness for diagnostics (PR 49973)

2019-10-18 Thread Lewis Hyatt
On Fri, Sep 27, 2019 at 4:41 PM Lewis Hyatt wrote: > > On Thu, Sep 26, 2019 at 08:46:56PM +, Joseph Myers wrote: > > On Thu, 26 Sep 2019, Lewis Hyatt wrote: > > > > > A couple notes: > > > - In order to avoid any portability problems with wchar_t, the > > > equivalent of wcwidth() from lib

Re: [Patch][Fortran] OpenACC – permit common blocks in some clauses

2019-10-18 Thread Thomas Schwinge
Hi! On 2019-10-15T23:32:32+0200, Tobias Burnus wrote: > This OpenACC-only patch extends the support for /common/ blocks. I'll be quick to note that I don't have any first-hand experience with Fortran common blocks. :-P > [In OpenMP (4.0 to 5.0, unchanged) and gfortran, common blocks are suppor

Re: Type representation in CTF and DWARF

2019-10-18 Thread Richard Biener
On October 18, 2019 1:59:36 PM GMT+02:00, Pedro Alves wrote: >On 10/17/19 7:59 PM, Nick Alcock wrote: >> On 17 Oct 2019, Richard Biener verbalised: >> >>> On Thu, Oct 17, 2019 at 7:36 PM Nick Alcock >wrote: On 11 Oct 2019, Indu Bhagat stated: > Compile with -g -gdwarf-like-ctf and

Re: [PATCH] Fix PR c++/92024

2019-10-18 Thread Bernd Edlinger
Ping... for the c++ FE and testsuite changes in the updated patch here: https://gcc.gnu.org/ml/gcc-patches/2019-10/msg00916.html Thanks Bernd. On 10/12/19 8:10 PM, Bernd Edlinger wrote: > On 10/11/19 6:31 PM, Jason Merrill wrote: >> On 10/10/19 2:06 PM, Bernd Edlinger wrote: >>> On 10/10/19

[PATCH 1/2] [ARM,testsuite] Skip tests incompatible with -mpure-code

2019-10-18 Thread Christophe Lyon
Hi, All these tests fail when using -mpure-code: * some force A or R profile * some use Neon * some use -fpic/-fPIC all of which are not supported by this option. OK? Thanks, Christophe 2019-10-18 Christophe Lyon gcc/testsuite/ * gcc.target/arm/attr-crypto.c: Skip if -mpure-

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

2019-10-18 Thread Christophe Lyon
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 of movs/adds and lsls instructions. The extension of the *thu

[Patch,committed,Fortran] PR91586 Fix ICE on invalid code with CLASS

2019-10-18 Thread Tobias Burnus
Re-instate error message which got by dereferrencing a NULL pointer. Commited as r277153 to the trunk. Committed as r277154 to the GCC 9 branch (as it was a 9/10 regression). Thanks, Tobias commit f9aef7e7d320df8560e602d863e97ea324e68644 Author: burnus Date: Fri Oct 18 12:04:31 2019 +

[C++ PATCH] anon type names

2019-10-18 Thread Nathan Sidwell
I noticed that we use a bitfield flag to note types with names for linkage purposes: typedef struct {} foo; but, we can infer this by comparing TYPE_STUB_DECL and TYPE_DECL of the main variant. It's only checked in two places -- the C++ parser and the objective C++ encoder. Committing this

Re: [PATCH 1/4] Add function for pretty-printing OpenACC clause names

2019-10-18 Thread Thomas Schwinge
Hi Julian! On 2019-10-06T15:32:34-0700, Julian Brown wrote: > This patch adds a function to pretty-print OpenACC clause names from > OMP_CLAUSE_MAP_KINDs, for error output. Indeed talking about (OpenMP) 'map' clauses in an OpenACC context is not quite ideal -- that's what PR65095 is about, so pl

Re: Type representation in CTF and DWARF

2019-10-18 Thread Pedro Alves
On 10/17/19 7:59 PM, Nick Alcock wrote: > On 17 Oct 2019, Richard Biener verbalised: > >> On Thu, Oct 17, 2019 at 7:36 PM Nick Alcock wrote: >>> >>> On 11 Oct 2019, Indu Bhagat stated: Compile with -g -gdwarf-like-ctf and use dwz -o (using dwz compiled from the master branch) on

Re: Type representation in CTF and DWARF

2019-10-18 Thread Pedro Alves
On 10/17/19 6:36 PM, Nick Alcock wrote: > A side note here: the sizes given above are uncompressed sizes, but in > the real world CTF is almost always compressed: the threshold for > compression is in theory customizable but at the moment is hardwired at > 4KiB-uncompressed in the linker. I usually

[PATCH] PR libstdc++/92143 adjust for OS X aligned_alloc behaviour

2019-10-18 Thread Jonathan Wakely
OS X 10.15 adds aligned_alloc but it has the same restriction as the AIX version, namely that alignments smaller than sizeof(void*) are not supported. PR libstdc++/92143 * libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment to at least sizeof(void*). Teste

Re: [PATCH] Define [range.cmp] comparisons for C++20

2019-10-18 Thread Jonathan Wakely
On 17/10/19 16:40 +0100, Jonathan Wakely wrote: Define std::identity, std::ranges::equal_to, std::ranges::not_equal_to, std::ranges::greater, std::ranges::less, std::ranges::greater_equal and std::ranges::less_equal. * include/Makefile.am: Add new header. * include/Makefile.in: R

Re: [PATCH][Arm] Fix multilibs for Armv7-R

2019-10-18 Thread Richard Earnshaw (lists)
On 18/10/2019 11:53, Andre Vieira (lists) wrote: Hi This patch maps multilibs using -march=armv7-r+vfpv3-d16-fp16 and -march=armv7-r+vfpv3-d16-fp16+idiv to v7+fp.  This patch also adds a new multilib for armv7-r+fp.sp and maps -march=armv7-r+fp.sp+idiv, -march=armv7-r+vfpv3xd-fp16 and -march=arm

Re: [PATCH] Relax integer condition reduction, simplify vect_is_simple_reduction

2019-10-18 Thread Richard Biener
On Fri, 18 Oct 2019, Christophe Lyon wrote: > On Wed, 16 Oct 2019 at 15:09, Richard Biener wrote: > > > > > > It happens we cannot have different typed data and index for > > integer condition reductions right now, for whatever reason. > > The following makes that work, even for double data and i

[PATCH][Arm] Fix multilibs for Armv7-R

2019-10-18 Thread Andre Vieira (lists)
Hi This patch maps multilibs using -march=armv7-r+vfpv3-d16-fp16 and -march=armv7-r+vfpv3-d16-fp16+idiv to v7+fp. This patch also adds a new multilib for armv7-r+fp.sp and maps -march=armv7-r+fp.sp+idiv, -march=armv7-r+vfpv3xd-fp16 and -march=armv7-r+vfpv3xd-fp16+idiv to it. This solves issues

Re: [PATCH] Move jump threading before reload

2019-10-18 Thread Segher Boessenkool
On Fri, Oct 18, 2019 at 11:06:45AM +0200, Ilya Leoshkevich wrote: > Bootstrapped and regtested on x86_64-redhat-linux, s390x-redhat-linux > and ppc64le-redhat-linux. The offending patch is in gcc-9_1_0-release > and gcc-9_2_0-release - do I need to backport this fix to gcc-9-branch? It is a regre

[Patch][Fortran/OpenMP] Don't create "alloc:" for 'target exit data'

2019-10-18 Thread Tobias Burnus
Currently, one has for   !$omp target exit data map(delete:x) in the original dump:   #pragma omp target exit data map(delete:*x) map(alloc:x [pointer assign, bias: 0]) The "alloc:" not only does not make sense but also gives run-time messages like: libgomp: GOMP_target_enter_exit_data unhand

[PATCH] Move jump threading before reload

2019-10-18 Thread Ilya Leoshkevich
Bootstrapped and regtested on x86_64-redhat-linux, s390x-redhat-linux and ppc64le-redhat-linux. The offending patch is in gcc-9_1_0-release and gcc-9_2_0-release - do I need to backport this fix to gcc-9-branch? r266734 has introduced a new instance of jump threading pass in order to take advant

Re: [SVE] PR91272

2019-10-18 Thread Richard Sandiford
Prathamesh Kulkarni writes: > Hi, > The attached patch tries to fix PR91272. > Does it look OK ? > > With patch, I see following failures for aarch64-sve.exp: > FAIL: gcc.target/aarch64/sve/clastb_1.c -march=armv8.2-a+sve > scan-assembler \\tclastb\\tw[0-9]+, p[0-7], w[0-9]+, z[0-9]+\\.s > FAIL: g