Reverting r278411
Richard Sandiford
richard.sandiford@arm.com
Tue Nov 19 19:43:00 GMT 2019
Segher Boessenkool <segher@kernel.crashing.org> writes:
> Hi,
>
> r278411 causes bootstrap to fail on at least all powerpc*. Also, I am
> author of this simplify-rtx code, and I think what you did is all wrong.
> Also, it should be two patches, the CSE part should be separate. (I can
> not tell if that is the part that regresses us, either).
I committed them as one patch because I'd tested them together,
which I thought was the way this should be done. In practice
a clean revert would have to be done as a pair anyway: reverting
one part individually would have required XFAILs on the tests.
And yeah, it was the cse.c part that was the problem.
find_sets_in_insn has:
/* Don't count call-insns, (set (reg 0) (call ...)), as a set.
The hard function value register is used only once, to copy to
someplace else, so it isn't worth cse'ing. */
else if (GET_CODE (SET_SRC (x)) == CALL)
;
So n_sets == 1 can be true if we have a single SET in parallel
with a call. Unsurprising, I guess no-one had MEM sets in
parallel with a call, so it didn't matter until now.
I'm retesting with a !CALL_P check added to make sure that was
the only problem.
Before I resubmit, why is the simplify-rtx.c part all wrong?
Thanks,
Richard
More information about the Gcc-patches
mailing list