compiler.cfg.ssa.interference.live-ranges: Docs
parent
cf74a4dc0f
commit
e58e1b9a65
|
@ -0,0 +1,18 @@
|
|||
USING: compiler.cfg compiler.cfg.instructions
|
||||
compiler.cfg.ssa.interference.live-ranges.private help.markup
|
||||
help.syntax math ;
|
||||
IN: compiler.cfg.ssa.interference.live-ranges
|
||||
|
||||
HELP: compute-live-ranges
|
||||
{ $values { "cfg" cfg } }
|
||||
{ $description "Entry point for the live ranges computation compiler pass." } ;
|
||||
|
||||
HELP: record-uses
|
||||
{ $values { "n" integer } { "insn" insn } }
|
||||
{ $description "Record live intervals so that all but the first input interfere with the output. This lets us coalesce the output with the first input." } ;
|
||||
|
||||
ARTICLE: "compiler.cfg.ssa.interference.live-ranges"
|
||||
"Live ranges for interference testing"
|
||||
"Live ranges for interference testing" ;
|
||||
|
||||
ABOUT: "compiler.cfg.ssa.interference.live-ranges"
|
|
@ -6,8 +6,6 @@ compiler.cfg.liveness compiler.cfg.rpo kernel math namespaces
|
|||
sequences ;
|
||||
IN: compiler.cfg.ssa.interference.live-ranges
|
||||
|
||||
! Live ranges for interference testing
|
||||
|
||||
<PRIVATE
|
||||
|
||||
SYMBOLS: local-def-indices local-kill-indices ;
|
||||
|
@ -16,9 +14,6 @@ SYMBOLS: local-def-indices local-kill-indices ;
|
|||
defs-vregs [ local-def-indices get set-at ] with each ;
|
||||
|
||||
: record-uses ( n insn -- )
|
||||
! Record live intervals so that all but the first input interfere
|
||||
! with the output. This lets us coalesce the output with the
|
||||
! first input.
|
||||
dup uses-vregs [ 2drop ] [
|
||||
swap def-is-use-insn?
|
||||
[ [ first local-kill-indices get set-at ] [ rest-slice ] 2bi ] unless
|
||||
|
|
Loading…
Reference in New Issue