compiler.cfg.ssa.destruction: add optimization from old destruction pass: don't run on CFGs that have no phi instructions
parent
ba55633b19
commit
73e7ead209
|
@ -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 ;
|
Loading…
Reference in New Issue