compiler.cfg.ssa.destruction: add optimization from old destruction pass: don't run on CFGs that have no phi instructions

db4
Slava Pestov 2009-08-02 10:57:27 -05:00
parent ba55633b19
commit 73e7ead209
1 changed files with 11 additions and 8 deletions

View File

@ -12,6 +12,7 @@ compiler.cfg.liveness.ssa
compiler.cfg.ssa.cssa
compiler.cfg.ssa.interference
compiler.cfg.ssa.interference.live-ranges
compiler.cfg.utilities
compiler.utilities ;
IN: compiler.cfg.ssa.destruction
@ -94,11 +95,13 @@ M: insn prepare-insn drop ;
] each-basic-block ;
: destruct-ssa ( cfg -- cfg' )
dup construct-cssa
compute-ssa-live-sets
dup compute-defs
dup compute-dominance
dup compute-live-ranges
dup prepare-coalescing
process-copies
dup perform-renaming ;
dup cfg-has-phis? [
dup construct-cssa
compute-ssa-live-sets
dup compute-defs
dup compute-dominance
dup compute-live-ranges
dup prepare-coalescing
process-copies
dup perform-renaming
] when ;