This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH]: Revise gcse.c to handle parallels TRAP_IF and other RTL codes not handled by single_set


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?

Dave
--
John David Anglin	dave.anglin@bell.net


Attachment: gcse.c.d.7.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]