Segher Boessenkool <seg...@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