At 3:54 PM +0100 11/23/04, Leopold Toetsch wrote:
Dan Sugalski wrote:

The parrot I have, which is a day or two out of date, takes 7m to churn through one of my pir files. With this patch, I killed the run at 19.5 minutes.

Sh... That's one of the smaller ones I presume.

Nope, one of the biggest. Sixth largest, at 800KB of pir code.

How many basic blocks and variables are listed with -v?

sh-2.05a$ ~/src/parrot/parrot -v -o forms/shipper.pbc forms/shipper.imc debug = 0x0 Reading forms/shipper.imc using optimization '0' (0) Starting parse...


build_reglist: 9941 symbols allocate_non_interfering, now: 3167 symbols sub _MAIN: registers in .imc: I2891, N0, S912, P6115 0 labels, 0 lines deleted, 0 if_branch, 0 branch_branch 0 used once deleted 0 invariants_moved registers needed: I3597, N0, S962, P6207 registers in .pasm: I32, N0, S32, P32 - 271 spilled 5679 basic_blocks, 47459 edges build_reglist: 1342 symbols allocate_non_interfering, now: 1003 symbols sub __Internal_Startup: registers in .imc: I25, N0, S0, P1290 0 labels, 0 lines deleted, 0 if_branch, 0 branch_branch 0 used once deleted 0 invariants_moved registers needed: I34, N0, S3, P2828 registers in .pasm: I31, N0, S7, P32 - 476 spilled 650 basic_blocks, 663 edges


Past that there are a mass of very small subs that don't spill.

This is interesting, though. I'd not looked at the numbers too closely, and I've been assuming that the _MAIN sub was the real cause of the register coloring code going insane, but the internal_startup code doesn't look too good either there. I think I'll go see what things look like for the big evil program.
--
Dan


--------------------------------------it's like this-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to