IN: compiler.cfg.builder.tests
! Just ensure that various CFGs build correctly.
-: unit-test-cfg ( quot -- )
- '[ _ test-cfg [ [ optimize-cfg check-cfg ] with-cfg ] each ] [ ] swap unit-test ;
+: unit-test-builder ( quot -- )
+ '[ _ test-builder [ [ optimize-cfg check-cfg ] with-cfg ] each ] [ ] swap unit-test ;
: blahblah ( nodes -- ? )
{ fixnum } declare [
set-string-nth-fast
]
} [
- unit-test-cfg
+ unit-test-builder
] each
: test-1 ( -- ) test-1 ;
test-1
test-2
test-3
-} [ unit-test-cfg ] each
+} [ unit-test-builder ] each
{
byte-array
alien-float
alien-double
} [| word |
- { class } word '[ _ declare 10 _ execute ] unit-test-cfg
- { class fixnum } word '[ _ declare _ execute ] unit-test-cfg
+ { class } word '[ _ declare 10 _ execute ] unit-test-builder
+ { class fixnum } word '[ _ declare _ execute ] unit-test-builder
] each
{
set-alien-unsigned-2
set-alien-unsigned-4
} [| word |
- { fixnum class } word '[ _ declare 10 _ execute ] unit-test-cfg
- { fixnum class fixnum } word '[ _ declare _ execute ] unit-test-cfg
+ { fixnum class } word '[ _ declare 10 _ execute ] unit-test-builder
+ { fixnum class fixnum } word '[ _ declare _ execute ] unit-test-builder
] each
- { float class } \ set-alien-float '[ _ declare 10 _ execute ] unit-test-cfg
- { float class fixnum } \ set-alien-float '[ _ declare _ execute ] unit-test-cfg
+ { float class } \ set-alien-float '[ _ declare 10 _ execute ] unit-test-builder
+ { float class fixnum } \ set-alien-float '[ _ declare _ execute ] unit-test-builder
- { float class } \ set-alien-double '[ _ declare 10 _ execute ] unit-test-cfg
- { float class fixnum } \ set-alien-double '[ _ declare _ execute ] unit-test-cfg
+ { float class } \ set-alien-double '[ _ declare 10 _ execute ] unit-test-builder
+ { float class fixnum } \ set-alien-double '[ _ declare _ execute ] unit-test-builder
- { pinned-c-ptr class } \ set-alien-cell '[ _ declare 10 _ execute ] unit-test-cfg
- { pinned-c-ptr class fixnum } \ set-alien-cell '[ _ declare _ execute ] unit-test-cfg
+ { pinned-c-ptr class } \ set-alien-cell '[ _ declare 10 _ execute ] unit-test-builder
+ { pinned-c-ptr class fixnum } \ set-alien-cell '[ _ declare _ execute ] unit-test-builder
] each
: count-insns ( quot insn-check -- ? )
- [ test-mr [ instructions>> ] map ] dip
+ [ test-regs [ instructions>> ] map ] dip
'[ _ count ] map-sum ; inline
: contains-insn? ( quot insn-check -- ? )
} 2 test-bb
V{
- T{ ##phi f 3 }
+ T{ ##phi f 3 H{ { 1 1 } { 2 2 } } }
T{ ##replace f 3 D 0 }
T{ ##branch }
} 3 test-bb
T{ ##return }
} 4 test-bb
-1 get 1 2array
-2 get 2 2array 2array 3 get instructions>> first (>>inputs)
-
0 { 1 2 } edges
1 3 edge
2 3 edge
} 2 test-bb
V{
- T{ ##phi f 4 }
+ T{ ##phi f 4 H{ { 1 2 } { 2 3 } } }
T{ ##replace f 4 D 0 }
T{ ##branch }
} 3 test-bb
T{ ##return }
} 4 test-bb
-1 get 2 2array
-2 get 3 2array 2array 3 get instructions>> first (>>inputs)
-
0 { 1 2 } edges
1 3 edge
2 3 edge
} 3 test-bb
V{
- T{ ##phi f 4 }
+ T{ ##phi f 4 H{ { 2 2 } { 3 3 } } }
T{ ##peek f 5 D 0 }
T{ ##add-float f 6 4 5 }
T{ ##replace f 6 D 0 }
test-diamond
4 5 edge
- 2 get 2 2array
- 3 get 3 2array 2array 4 get instructions>> first (>>inputs)
-
[ ] [ test-representations ] unit-test
[ t ] [ 2 get instructions>> first ##load-double? ] unit-test