This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Revise gcse.c to handle parallels TRAP_IF and other RTL codes not handled by single_set
- From: Jeff Law <law at redhat dot com>
- To: John David Anglin <dave dot anglin at bell dot net>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 04 Apr 2014 09:27:06 -0600
- Subject: Re: [PATCH]: Revise gcse.c to handle parallels TRAP_IF and other RTL codes not handled by single_set
- Authentication-results: sourceware.org; auth=none
- References: <BLU0-SMTP33B29DDC4DFF17DCAE07D597710 at phx dot gbl>
On 03/13/14 17:06, John David Anglin wrote:
This patch fixes PR rtl-optimization/60155.
The PA backend has a number of INSN patterns which trap on signed
overflow. These are
implemented as parallels using the trap_if code. Currently, single_set
does not consider
a parallel with a trap_if rtx to be a single set. This causes an ICE in
gcse.c when an insn with
a trap_if is encountered.
The problem is fixed by implementing a gcse specific version of
"single_set" which only
looks at whether there is a single non-dead set in an insn pattern. It
allows multiple other
sets if they are dead.
Tested on hppa-unknown-linux-gnu, hppa2.0w-hp-hpux11.11 and
hppa64-hp-hpux11.11.
OK for trunk?
Yes. This is good. Thanks.
jeff