compiler.cfg: the id slot of basic-block appears to not be needed

db4
Björn Lindqvist 2015-04-13 23:22:41 +02:00 committed by John Benediktsson
parent 5cd44dc07c
commit aa6fbf475e
3 changed files with 9 additions and 11 deletions

View File

@ -4,22 +4,18 @@ USING: accessors kernel layouts math namespaces vectors ;
IN: compiler.cfg IN: compiler.cfg
TUPLE: basic-block < identity-tuple TUPLE: basic-block < identity-tuple
{ id integer } number
number { instructions vector }
{ instructions vector } { successors vector }
{ successors vector } { predecessors vector }
{ predecessors vector } { kill-block? boolean } ;
{ kill-block? boolean } ;
: <basic-block> ( -- bb ) : <basic-block> ( -- bb )
basic-block new basic-block new
\ basic-block counter >>id
V{ } clone >>instructions V{ } clone >>instructions
V{ } clone >>successors V{ } clone >>successors
V{ } clone >>predecessors ; V{ } clone >>predecessors ;
M: basic-block hashcode* nip id>> ;
TUPLE: cfg TUPLE: cfg
{ entry basic-block } { entry basic-block }
word word

View File

@ -50,7 +50,7 @@ IN: compiler.cfg.intrinsics.simd.tests
: test-compiler-env ( -- x ) : test-compiler-env ( -- x )
H{ } clone H{ } clone
T{ basic-block { id 0 } } T{ basic-block }
[ \ basic-block pick set-at ] [ \ basic-block pick set-at ]
[ 0 swap associate \ ds-heights pick set-at ] [ 0 swap associate \ ds-heights pick set-at ]
[ 0 swap associate \ rs-heights pick set-at ] tri [ 0 swap associate \ rs-heights pick set-at ] tri

View File

@ -11,4 +11,6 @@ V{ } 2 test-bb
0 { 1 1 } edges 0 { 1 1 } edges
1 2 edge 1 2 edge
[ t ] [ 0 get block>cfg linearization-order [ id>> ] map all-unique? ] unit-test { { 0 1 2 } } [
0 get block>cfg linearization-order [ number>> ] map
] unit-test