From ceff23339ccd8bafde24fd6fdf0d5f5843c36410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Sat, 13 Jun 2015 19:25:31 +0200 Subject: [PATCH] compiler.cfg.ssa.destruction: a bunch of new docs --- .../cfg/ssa/destruction/destruction-docs.factor | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/basis/compiler/cfg/ssa/destruction/destruction-docs.factor b/basis/compiler/cfg/ssa/destruction/destruction-docs.factor index d910e80a4f..1c10ca97ac 100644 --- a/basis/compiler/cfg/ssa/destruction/destruction-docs.factor +++ b/basis/compiler/cfg/ssa/destruction/destruction-docs.factor @@ -2,10 +2,27 @@ USING: compiler.cfg compiler.cfg.instructions compiler.cfg.ssa.destruction.private help.markup help.syntax ; IN: compiler.cfg.ssa.destruction +HELP: class-element-map +{ $var-description "Maps leaders to equivalence class elements." } ; + HELP: cleanup-cfg { $values { "cfg" cfg } } { $description "In this step, " { $link ##parallel-copy } " instructions are substituted with more concreete " { $link ##copy } " instructions. " { $link ##phi } " instructions are removed here." } ; +HELP: copies +{ $var-description "Sequence of copies (tuples of { vreg-dst vreg-src}) that maybe can be eliminated later." } +{ $see-also init-coalescing } ; + +HELP: maybe-eliminate-copy +{ $values { "vreg1" "vreg" } { "vreg2" "vreg" } } +{ $description "Eliminate a copy if possible." } +{ $see-also must-eliminate-copy } ; + +HELP: must-eliminate-copy +{ $values { "vreg1" "vreg" } { "vreg2" "vreg" } } +{ $description "Eliminates a copy." } +{ $see-also maybe-eliminate-copy } ; + ARTICLE: "compiler.cfg.ssa.destruction" "SSA Destruction" "Because of the design of the register allocator, this pass has three peculiar properties." { $list