Re: [PATCH] Backport of RISC-V support for libffi

2018-05-04 Thread Jim Wilson
On 03/20/2018 03:50 AM, Andreas Schwab wrote: This is a backport of (the only difference to upstream is s/FFI_ALIGN/ALIGN/, as we don't have commit bd72848c7a). This is needed for libgo. OK. You might have to update the patch, as at least o

[PATCH] RISC-V: Use new linker emulations for glibc ABI.

2018-05-04 Thread Jim Wilson
I've submitted a binutils patch that adds some new linker emulations to fix a linker problem with library paths. The rv64/lp64d linker looks in /lib64 when glibc says it should look in /lib64/lp64d. To make the binutils patch work, I had to add 4 new emulations because we have 6 ABIs. This patch

[PATCH, aarch64] Patch to update pipeline descriptions in thunderx2t99.md

2018-05-04 Thread Steve Ellcey
Now that we are in stage 1 again, here is an update to my earlier t99 scheduling file patch for thunderx2t99.md.  There were some instruction types (mostly asimd) that did not have schedules and other types that had duplicate schedules. With this patch there should be one schedule for every type a

Re: [RFA][fortran] Fix # handling in the Fortran front-end

2018-05-04 Thread Steve Kargl
On Fri, May 04, 2018 at 02:05:11PM -0600, Jeff Law wrote: > On 05/04/2018 01:55 PM, Steve Kargl wrote: > > On Fri, May 04, 2018 at 01:32:00PM -0600, Jeff Law wrote: > >> > >> The Fortran front end has its own code to parse # > >> directives. We've run into a case where it does not function corre

Re: [RFA][fortran] Fix # handling in the Fortran front-end

2018-05-04 Thread Jeff Law
On 05/04/2018 01:55 PM, Steve Kargl wrote: > On Fri, May 04, 2018 at 01:32:00PM -0600, Jeff Law wrote: >> >> The Fortran front end has its own code to parse # >> directives. We've run into a case where it does not function correctly. >> In particular when the directive changes the current file,

Re: [RFA][fortran] Fix # handling in the Fortran front-end

2018-05-04 Thread Steve Kargl
On Fri, May 04, 2018 at 01:32:00PM -0600, Jeff Law wrote: > > The Fortran front end has its own code to parse # > directives. We've run into a case where it does not function correctly. > In particular when the directive changes the current file, subsequent > diagnostics still refer to the ori

Re: [C++ PATCH] Fix value initialized decltype(nullptr) in constexpr (PR c++/85553)

2018-05-04 Thread Jason Merrill
On Fri, May 4, 2018 at 2:06 PM, Paolo Carlini wrote: > Hi, > > > On 04/05/2018 19:45, Jason Merrill wrote: >> >> On Sun, Apr 29, 2018 at 3:23 AM, Paolo Carlini >> wrote: >>> >>> Hi, >>> >>> On 28/04/2018 18:41, Jason Merrill wrote: On Fri, Apr 27, 2018 at 7:26 PM, Paolo Carlini wrot

Re: [PATCH 8/8] [BRIGFE] Fix handling of NOPs

2018-05-04 Thread Pekka Jääskeläinen
Committed as r259958. On Fri, May 4, 2018 at 5:02 PM, Pekka Jääskeläinen wrote: > --- > gcc/brig/brigfrontend/brig-basic-inst-handler.cc | 10 +- > 1 file changed, 5 insertions(+), 5 deletions(-) >

Re: [PATCH 7/8] [BRIGFE] phsa-specific optimizations

2018-05-04 Thread Pekka Jääskeläinen
Committed as r259957. On Fri, May 4, 2018 at 5:02 PM, Pekka Jääskeläinen wrote: > Add flag -fassume-phsa that is on by default. If -fno-assume-phsa > is given, these optimizations are disabled. > > With this flag, gccbrig can generate GENERIC that assumes we are > targeting a phsa-runtime based i

Re: [C++ PATCH] Fix value initialized decltype(nullptr) in constexpr (PR c++/85553)

2018-05-04 Thread Paolo Carlini
... thinking more about the issue, probably the best thing to do would be wrapping instead in a COMPOUND_EXPR, which would be also consistent with cp_convert_to_pointer. Thus I'm finishing testing the below (past g++.dg). How about it? Thanks! Paolo. / Index: cvt.c ===

[RFA][fortran] Fix # handling in the Fortran front-end

2018-05-04 Thread Jeff Law
The Fortran front end has its own code to parse # directives. We've run into a case where it does not function correctly. In particular when the directive changes the current file, subsequent diagnostics still refer to the original filename. Concretely take this code and compile it with -Wall

Re: [PATCH PR other/77609] Let the assembler choose ELF section types for miscellaneous named sections

2018-05-04 Thread Ian Lance Taylor via gcc-patches
On Sat, Apr 28, 2018 at 2:42 AM, Roland McGrath wrote: > I'm back for stage 1! > > The same patch from https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01549.html > rebases cleanly and I didn't change anything but the date on the log entry > since what I posted there. The fresh rebase is on the rola

[gomp5] simd if/nontemporal clauses parsing and cancel if modifier

2018-05-04 Thread Jakub Jelinek
Hi! This patch adds parsing of if and nontemporal clauses for simd construct and also adds parsing of (optional) cancel modifier for if clause on cancel directive. While nontemporal clause is just an optimization (we still want to use non-temporal stores (or even loads?) for those vars, what is t

Re: [PATCH PR other/77609] Let the assembler choose ELF section types for miscellaneous named sections

2018-05-04 Thread Roland McGrath via gcc-patches
ping On Sat, Apr 28, 2018 at 2:42 AM Roland McGrath wrote: > I'm back for stage 1! > The same patch from https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01549.html > rebases cleanly and I didn't change anything but the date on the log entry > since what I posted there. The fresh rebase is on the

Re: [C++ PATCH] Fix value initialized decltype(nullptr) in constexpr (PR c++/85553)

2018-05-04 Thread Paolo Carlini
Hi, On 04/05/2018 19:45, Jason Merrill wrote: On Sun, Apr 29, 2018 at 3:23 AM, Paolo Carlini wrote: Hi, On 28/04/2018 18:41, Jason Merrill wrote: On Fri, Apr 27, 2018 at 7:26 PM, Paolo Carlini wrote: Hi again, I'm now pretty sure that we have a latent issue in ocp_convert. The bug fixed by

Re: [PATCH 5/8] [BRIGFE] do not allow optimizations based on known C builtins

2018-05-04 Thread Pekka Jääskeläinen
Committed as r259949. On Fri, May 4, 2018 at 5:00 PM, Pekka Jääskeläinen wrote: > This can break inputs that have similarly names functions. > --- > gcc/brig/brig-lang.c | 16 +++- > 1 file changed, 7 insertions(+), 9 deletions(-) >

Re: [PATCH 4/8] [BRIGFE] allow controlling strict aliasing from cmd line

2018-05-04 Thread Pekka Jääskeläinen
Committed as r259948. On Fri, May 4, 2018 at 4:59 PM, Pekka Jääskeläinen wrote: > --- > gcc/brig/brig-lang.c | 12 +--- > 1 file changed, 9 insertions(+), 3 deletions(-) > >

libgo patch committed: On AIX, pass -X64 first to ar

2018-05-04 Thread Ian Lance Taylor
This patch by Tony Reix passes -X64 first to the ar command on AIX, not after the rc command. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline and GCC 8 branch. Ian Index: gcc/go/gofrontend/MERGE === -

Re: [C++ PATCH] Fix value initialized decltype(nullptr) in constexpr (PR c++/85553)

2018-05-04 Thread Jason Merrill
On Sun, Apr 29, 2018 at 3:23 AM, Paolo Carlini wrote: > Hi, > > On 28/04/2018 18:41, Jason Merrill wrote: >> >> On Fri, Apr 27, 2018 at 7:26 PM, Paolo Carlini >> wrote: >>> >>> Hi again, >>> >>> I'm now pretty sure that we have a latent issue in ocp_convert. The bug >>> fixed by Jakub shows that

Re: gotools patch committed: Set GOCACHE during tests

2018-05-04 Thread Ian Lance Taylor
On Fri, May 4, 2018 at 9:25 AM, Jakub Jelinek wrote: > On Fri, May 04, 2018 at 09:23:54AM -0700, Ian Lance Taylor wrote: >> This patch to the gotools Makefile sets the GOCACHE variable while >> running the gotools tests. This avoids creating a cache in the >> default location, which is the user's

Re: [PATCH 3/8] [BRIGFE] The modulo in ID computation should not be needed.

2018-05-04 Thread Pekka Jääskeläinen
Commited in r259944. On Fri, May 4, 2018 at 4:58 PM, Pekka Jääskeläinen wrote: > The case where a dim is greater than the grid size doesn't seem > to be mentioned in the specs nor tested by PRM test suite. > --- > gcc/brig/brigfrontend/brig-code-entry-handler.cc | 10 +- > 1 file changed

Re: [PATCH 2/8] [BRIGFE] Enable whole program optimizations

2018-05-04 Thread Pekka Jääskeläinen
Committed as r259943. On Fri, May 4, 2018 at 4:57 PM, Pekka Jääskeläinen wrote: > HSA assumes all program scope HSAIL symbols can be queried from > the host runtime API, thus cannot be removed by the IPA. > > Getting some inlining happening in the finalized binary required: > * explicitly marking

Re: [PATCH 1/8] [BRIGFE] fix an alloca stack underflow

2018-05-04 Thread Pekka Jääskeläinen
Committed as r259942. On Fri, May 4, 2018 at 4:56 PM, Pekka Jääskeläinen wrote: > We didn't preserve additional space for the alloca frame pointers that > are needed to be saved in the alloca space.

Re: gotools patch committed: Set GOCACHE during tests

2018-05-04 Thread Jakub Jelinek
On Fri, May 04, 2018 at 09:23:54AM -0700, Ian Lance Taylor wrote: > This patch to the gotools Makefile sets the GOCACHE variable while > running the gotools tests. This avoids creating a cache in the > default location, which is the user's home directory. This should fix > PR 85630. Bootstrapped

[PATCH GCC][6/6]Restrict predcom using register pressure information

2018-05-04 Thread Bin Cheng
Hi, This patch restricts predcom pass using register pressure information. In case of high register pressure, we now prune additional chains as well as disable unrolling in predcom. In generally, I think this patch set is useful. Bootstrap and test on x86_64 ongoing. Any comments? Thanks, bin 2

gotools patch committed: Set GOCACHE during tests

2018-05-04 Thread Ian Lance Taylor
This patch to the gotools Makefile sets the GOCACHE variable while running the gotools tests. This avoids creating a cache in the default location, which is the user's home directory. This should fix PR 85630. Bootstrapped and ran gotools tests on x86_64-pc-linux-gnu. Committed to mainline. I w

[PATCH GCC][5/6]implement live range, reg pressure computation class

2018-05-04 Thread Bin Cheng
Hi, Based on previous patch, this one implements live range, reg pressure computation class in tree-ssa-live.c. The user would only need to instantiate the class and call the computation interface as in next patch. During the work, I think it's also worthwhile to classify all live range and coal

[PATCH GCC][4/6]Support regional coalesce and live range computation

2018-05-04 Thread Bin Cheng
Hi, Following Jeff's suggestion, I am now using existing tree-ssa-live.c and tree-ssa-coalesce.c to compute register pressure, rather than inventing another live range solver. The major change is to record region's basic blocks in var_map and use that information in computation, rather than FOR_EA

[PATCH GCC][3/6]Delete unnecessary function live_merge_and_clear

2018-05-04 Thread Bin Cheng
HI, This is an obvious patch removing the unnecessary function. Bootstrap and test on x86_64 and AArch64 ongoing. Is it OK? Thanks, bin 2018-04-27 Bin Cheng * tree-ssa-live.h (live_merge_and_clear): Delete.From ba6e47da7faba9a31c776a6d06ef052b1ed392a8 Mon Sep 17 00:00:00 2001 From: B

[PATCH GCC][2/6]Compute available register for each register classes

2018-05-04 Thread Bin Cheng
Hi, This is the second patch computing available/clobber registers for register classes. It's the same as the original patch posted @https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01022.html Bootstrap and test on x86_64 and AArch64 ongoing. Any comments? Thanks, bin 2017-04-27 Bin Cheng

[PATCH GCC][1/6]Compute type mode and register class mapping

2018-05-04 Thread Bin Cheng
Hi, This is the updated version patch set computing register pressure on TREE SSA and use that information to direct other loop optimizers (predcom only for now). This version of change is to follow Jeff's comment that we should reuse existing tree-ssa-live.c infrastructure for live range computati

Re: [PATCH, i386]: AVX false dependencies fix

2018-05-04 Thread Uros Bizjak
> This is the same patch I posted a few days ago, a bit modified according to > Uros' > recommendation. > > Patch fixes false dependencies for vmovss, vmovsd, vrcpss, vrsqrtss, vsqrtss > and vsqrtsd > instructions. > Tested on x86-64/Linux, no new test fails, some SPEC 2006/2017 performance > ga

Re: [PATCH, rs6000] Add missing vec_max tests

2018-05-04 Thread Segher Boessenkool
Hi! On Fri, May 04, 2018 at 07:59:37AM -0700, Carl Love wrote: > > Why does the patch remove these two vec_sel?  If that is wanted, the > > changelog should mention this. > No clue why I removed the vec_sel test. Been sitting on the testsuite > patch set too long, I don't recall. I put it back

Re: [PATCH, rs6000] Add missing vec_max tests

2018-05-04 Thread Carl Love
Segher: > > -  *out++ = vec_sel (in0, in1, inl); > > -  *out++ = vec_sel (in0, in1, inb); > >    *out++ = vec_sub (in0, in1); > >    *out++ = vec_sqrt (in0); > >    *out++ = vec_trunc (in0); > > Why does the patch remove these two vec_sel?  If that is wanted, the > changelog should mention this.

libgo patch committed: Fix unaligned read in unwind code

2018-05-04 Thread Ian Lance Taylor
This patch by Than McIntosh fixes some unaligned reads in the Go unwinding code. Bootstrapped and ran a few Go tests on sparc-solaris11. Committed to mainline. Ian Index: gcc/go/gofrontend/MERGE === --- gcc/go/gofrontend/MERGE (

[PATCH 7/8] [BRIGFE] phsa-specific optimizations

2018-05-04 Thread Pekka Jääskeläinen
Add flag -fassume-phsa that is on by default. If -fno-assume-phsa is given, these optimizations are disabled. With this flag, gccbrig can generate GENERIC that assumes we are targeting a phsa-runtime based implementation, which allows us to expose the work-item context accesses to retrieve WI IDs

[PATCH 8/8] [BRIGFE] Fix handling of NOPs

2018-05-04 Thread Pekka Jääskeläinen
--- gcc/brig/brigfrontend/brig-basic-inst-handler.cc | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) >From fee48e53063309a58a9a3050df26395ae1615111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?= Date: Thu, 12 Oct 2017 15:55:11 +0200 Subject: [PA

[PATCH 6/8] [BRIGFE] skip multiple forward declarations of the same function

2018-05-04 Thread Pekka Jääskeläinen
--- gcc/brig/brigfrontend/brig-function-handler.cc | 4 1 file changed, 4 insertions(+) >From 1c708e887073960b6142d716d3e85f3453d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?= Date: Sat, 17 Feb 2018 08:59:25 +0200 Subject: [PATCH 6/8] [BRIGFE] skip mu

[PATCH 5/8] [BRIGFE] do not allow optimizations based on known C builtins

2018-05-04 Thread Pekka Jääskeläinen
This can break inputs that have similarly names functions. --- gcc/brig/brig-lang.c | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) >From 105277ee937482ee1a55265b1ec45637bc1e7a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?= Date: Sat, 17

[PATCH 4/8] [BRIGFE] allow controlling strict aliasing from cmd line

2018-05-04 Thread Pekka Jääskeläinen
--- gcc/brig/brig-lang.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) >From c8a86773e877949fb9308d2dd448ea013be22c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?= Date: Mon, 12 Feb 2018 11:34:58 +0200 Subject: [PATCH 4/8] [BRIGFE] allow c

[PATCH 3/8] [BRIGFE] The modulo in ID computation should not be needed.

2018-05-04 Thread Pekka Jääskeläinen
The case where a dim is greater than the grid size doesn't seem to be mentioned in the specs nor tested by PRM test suite. --- gcc/brig/brigfrontend/brig-code-entry-handler.cc | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) >From 99303afff584518c1fd17e3c6ebe965043dd58f0 Mon Sep 1

[PATCH 2/8] [BRIGFE] Enable whole program optimizations

2018-05-04 Thread Pekka Jääskeläinen
HSA assumes all program scope HSAIL symbols can be queried from the host runtime API, thus cannot be removed by the IPA. Getting some inlining happening in the finalized binary required: * explicitly marking the 'prog' scope functions and the launcher function "externally_visible" to avoid the in

[PATCH 1/8] [BRIGFE] fix an alloca stack underflow

2018-05-04 Thread Pekka Jääskeläinen
We didn't preserve additional space for the alloca frame pointers that are needed to be saved in the alloca space. Fixes libgomp.c++/target-6.C execution test. --- libhsail-rt/rt/workitems.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libhsail-rt/rt/worki

[PATCH 0/8] [BRIGFE] various fixes and optimizations

2018-05-04 Thread Pekka Jääskeläinen
Hi, I'm posting a series of patches that I will shortly commit to trunk as a maintainer of the BRIG frontend. All of them are build tested, the last one also with a bootstrap build. Best regards, -- Pekka

Re: libffi PowerPC64 ELFv1 fp arg fixes

2018-05-04 Thread Alan Modra
On Fri, May 04, 2018 at 06:02:27AM -0500, Segher Boessenkool wrote: > On Fri, May 04, 2018 at 07:40:20PM +0930, Alan Modra wrote: > > The attached patch has been accepted into upstream libffi. It fixes > > powerpc64-linux problems shown up by Bruno Haible's new libffi > > testsuite tests. Bootstr

New Ukrainian PO file for 'gcc' (version 8.1.0)

2018-05-04 Thread Translation Project Robot
Hello, gentle maintainer. This is a message from the Translation Project robot. A revised PO file for textual domain 'gcc' has been submitted by the Ukrainian team of translators. The file is available at: http://translationproject.org/latest/gcc/uk.po (This file, 'gcc-8.1.0.uk.po', has ju

[og7, libgomp, openacc, nvptx, committed] Don't select too many workers

2018-05-04 Thread Tom de Vries
Hi, On the og7 branch for Titan V, we run into this error message in testsuite polybench for testcases covariance and lu: ... libgomp: The Nvidia accelerator has insufficient resources to launch 'x$_omp_fn$0' with num_workers = 27 and vector_length = 32; recompile the program with 'num_worker

[PATCH, i386]: AVX false dependencies fix

2018-05-04 Thread Nesterovskiy, Alexander
This is the same patch I posted a few days ago, a bit modified according to Uros' recommendation. Patch fixes false dependencies for vmovss, vmovsd, vrcpss, vrsqrtss, vsqrtss and vsqrtsd instructions. Tested on x86-64/Linux, no new test fails, some SPEC 2006/2017 performance gains. 2018-05-04

[PATCH] Fix memleaks

2018-05-04 Thread Richard Biener
The following fixes three memleaks I discovered when double-checking a local patch. Bootstrap / regtest running on x86_64-unknown-linux-gnu. Richard. 2018-05-04 Richard Biener * bb-reorder.c (sanitize_hot_paths): Release hot_bbs_to_check. * gimple-ssa-store-merging.c

Re: libffi PowerPC64 ELFv1 fp arg fixes

2018-05-04 Thread Segher Boessenkool
On Fri, May 04, 2018 at 07:40:20PM +0930, Alan Modra wrote: > The attached patch has been accepted into upstream libffi. It fixes > powerpc64-linux problems shown up by Bruno Haible's new libffi > testsuite tests. Bootstrapped and regression tested powerpc64-linux > and powerpc64le-linux. OK mai

[gomp5] omp_lock_hint_t -> omp_sync_hint_t

2018-05-04 Thread Jakub Jelinek
Hi! Just renaming with keeping the old enumerators/typedefs for backwards compatibility. Committed to gomp-5_0-branch. 2018-05-04 Jakub Jelinek * omp.h.in (enum omp_lock_hint_t): Renamed to ... (enum omp_sync_hint_t): ... this. Define omp_sync_hint_* enumerators usin

libffi PowerPC64 ELFv1 fp arg fixes

2018-05-04 Thread Alan Modra
The attached patch has been accepted into upstream libffi. It fixes powerpc64-linux problems shown up by Bruno Haible's new libffi testsuite tests. Bootstrapped and regression tested powerpc64-linux and powerpc64le-linux. OK mainline and active branches? -- Alan Modra Australia Development Lab

[PATCH] rs6000: Remove Xilinx FP

2018-05-04 Thread Segher Boessenkool
This removes the special Xilinx FP support. It was deprecated in GCC 8. After this patch all of TARGET_{DOUBLE,SINGLE}_FLOAT, TARGET_{DF,SF}_INSN, and TARGET_{DF,SF}_FPR are replaced by TARGET_HARD_FLOAT. Also the fp_type attribute is deleted. Tested on powerpc64-linux {-m32,-m64}. Committing.

[PATCH] PR libstdc++/85642 fix is_nothrow_default_constructible>

2018-05-04 Thread Jonathan Wakely
Add missing noexcept keyword to default constructor of each _Optional_payload specialization. PR libstdc++/85642 fix is_nothrow_default_constructible> * include/std/optional (_Optional_payload): Add noexcept to default constructor. Re-indent. (_Optional_payload<_Tp

Re: [C++ PATCH] Fix value initialized decltype(nullptr) in constexpr (PR c++/85553)

2018-05-04 Thread Paolo Carlini
Hi all, Jason, On 29/04/2018 09:23, Paolo Carlini wrote: Hi, On 28/04/2018 18:41, Jason Merrill wrote: On Fri, Apr 27, 2018 at 7:26 PM, Paolo Carlini wrote: Hi again, I'm now pretty sure that we have a latent issue in ocp_convert. The bug fixed by Jakub shows that we used to not have issues

Re: [ARM] Fix PR85434: spill of stack protector's guard address

2018-05-04 Thread Segher Boessenkool
Hi Thomas, On Fri, May 04, 2018 at 05:52:57AM +0100, Thomas Preudhomme wrote: > >> As mentionned in the ticket this was my first thought but this means > >> making the pattern aware of all the possible way the address could be > >> access (PIC Vs non-PIC, Arm Vs Thumb-2 Vs Thumb-1) to decide how m

Re: [PATCH, expand, PR85639] Handle null target in expand_builtin_goacc_parlevel_id_size

2018-05-04 Thread Jakub Jelinek
On Fri, May 04, 2018 at 09:46:45AM +0200, Tom de Vries wrote: > As reported in PR85639 (triggered on powerpc64), this function causes a > segfault when called with ignore == 0 and target == NULL_RTX, by calling > emit_move_insn with target == NULL_RTX. > > Fixed by making sure target is non-null b

[PATCH, expand, PR85639] Handle null target in expand_builtin_goacc_parlevel_id_size

2018-05-04 Thread Tom de Vries
[ was: Re: [PATCH, PR82428] Add __builtin_goacc_{gang,worker,vector}_{id,size} ] On 01/18/2018 09:55 AM, Tom de Vries wrote: On 01/17/2018 06:51 PM, Jakub Jelinek wrote: On Wed, Jan 17, 2018 at 06:42:33PM +0100, Tom de Vries wrote: @@ -6602,6 +6604,71 @@ expand_stack_save (void) return

Re: [PATCH] Fix PR85627 (and more)

2018-05-04 Thread Richard Biener
On Thu, 3 May 2018, Richard Biener wrote: > > The following fixes PR85627 and more generally complex lowering not > preserving EH information with -fnon-call-exceptions when replacing > complex multiplication or division with a libcall. > > This requires changing BUILT_IN_COMPLEX_{MUL,DIV} to be

[PATCH] Fix PR85574

2018-05-04 Thread Richard Biener
The PR correctly notices that we cannot transform -((a-b)/c) to (b-a)/c if a-b == b-a == INT_MIN because we are then changing the results sign if c != 1. Thus the following patch restricts this transform/predicate further. Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. R

Re: [PATCH 1/2, expr.c] Optimize switch with sign-extended index.

2018-05-04 Thread Richard Biener
On Thu, May 3, 2018 at 11:29 PM, Jim Wilson wrote: > On Thu, May 3, 2018 at 12:29 AM, Richard Biener > wrote: >> Just as a note, IIRC all the SUBREG_PROMOTED_* stuff is quite fragile >> - I remember >> Eric fixing things up a bit but some verification would be nice to >> have (instrumentation >>