From 29d44075e4449fbb5a2d32a91ab20ff865606d64 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Wed, 10 Feb 2010 22:36:26 -0600 Subject: [PATCH] Working on fixing scheduling --- basis/compiler/cfg/dependence/dependence.factor | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/basis/compiler/cfg/dependence/dependence.factor b/basis/compiler/cfg/dependence/dependence.factor index 5763062799..dd3ceaab13 100644 --- a/basis/compiler/cfg/dependence/dependence.factor +++ b/basis/compiler/cfg/dependence/dependence.factor @@ -148,6 +148,14 @@ DEFER: follow-tree [ [ >>parent drop ] with each ] [ >>children drop ] 2bi ; +: attach-parent ( node -- ) + drop ; + +: make-trees ( -- trees ) + nodes get + [ [ attach-parent ] each ] + [ [ parent>> not ] filter ] bi ; + ERROR: node-missing-parent trees nodes ; ERROR: node-missing-children trees nodes ; @@ -168,13 +176,8 @@ ERROR: node-missing-children trees nodes ; : verify-trees ( trees -- trees ) verify-parents verify-children ; -: make-trees ( -- trees ) - [ - roots get [ dup , follow-tree ] each - ] { } make verify-trees ; - : build-fan-in-trees ( -- ) - make-trees [ + make-trees verify-trees [ -1/0. >>parent-index calculate-registers drop ] each ;