[PATCH] combine: If a parallel I2 was split, do not allow a new I2 (PR64268)
Segher Boessenkool
segher@kernel.crashing.org
Tue Dec 16 23:17:00 GMT 2014
On Tue, Dec 16, 2014 at 07:28:22AM -0600, Segher Boessenkool wrote:
> I did a run for powerpc64, one for powerpc, and one for x86-64.
>
> The powerpc64 bootstrap was with pre-installed GMP etc.; the others
> had those libraries in-tree.
>
> "type1" is when try_combine used the ancient combine code to split a
> parallel set and set of cc; "type2" is when it used my code to split
> any other parallel that sets two things; and "type0" is when it didn't
> do either but still ended up with I1 and I2 the same UID (I think it
> might be called with the same insn twice; not a good thing, it does
> not know how to handle this; and it is really worrisome that it then
> sometimes succeeds in combining it).
>
> "tries" is how often that split-orig-I2-to-two code is used; "recog"
> is how often it reached the first call to recog (so it passed
> can_combine_p etc.); "fail" is how often it eventually failed (after
> reaching recog), "one" is how often it combined to one insn, "two"
> is how often it combined to two.
>
>
> powerpc64
> tries recog fail one two
> type1 39214 39214 38944 202 18
> type2 21540 18968 18928 2 38
> type0 292 289 0 3
>
>
> powerpc
> tries recog fail one two
> type1 21654 21654 21167 485 2
> type2 21839 19754 19243 0 509 (*)
> type0 427 294 0 133
>
>
> x86-64
> tries recog fail one two
> type1 17387 17387 17288 70 29
> type2 40413 31681 30242 60 1369
> type0 0 0 0 0
The new numbers:
powerpc64
tries recog fail one two
type1 39216 39216 38996 202 18
type2 21540 18968 18928 2 38
powerpc
tries recog fail one two
type1 45276 45276 44196 1040 40
type2 46149 41589 40553 0 1032
x86-64
tries recog fail one two
type1 17387 17387 17288 70 29
type2 40088 31625 30196 60 1369
Segher
More information about the Gcc-patches
mailing list