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]

Re: [PATCH][gcse] Use emit_move_insn rather than creating SET rtx and emitting that



On 19/03/15 13:56, Steven Bosscher wrote:
On Thu, Mar 19, 2015 at 2:45 PM, Kyrill Tkachov wrote:
As pointed out by James Greenhalgh offline the correct thing would have been
to do an
emit_move_insn to let the backend expanders do the right thing (especially
in the concerned
testcase gcc.c-torture/execute/pr65427.c that uses 256-bit vectors that arm
doesn't support
natively).
This is supposed to be caught by want_to_gcse_p() via
can_assign_to_reg_without_clobbers_p(). How does your expression get
past that barrier?

The gcc_unreachable() is there because all the code in gcse.c assumes
it is OK to emit a SET-insn without going through emit_move_insn().

btw, the ICE happens during the hoist pass, rather than gcse.
Kyrill

Ciao!
Steven




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