[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