compiler.cfg.*: new test-case and setting leader-map to f is better

db4
Björn Lindqvist 2015-05-10 04:53:41 +02:00 committed by John Benediktsson
parent 36bfd0f105
commit f9a6bb27f4
2 changed files with 32 additions and 20 deletions

View File

@ -131,7 +131,7 @@ M: insn cleanup-insn , ;
PRIVATE> PRIVATE>
: destruct-ssa ( cfg -- ) : destruct-ssa ( cfg -- )
H{ } clone leader-map set f leader-map set
{ {
needs-dominance needs-dominance
construct-cssa construct-cssa

View File

@ -3,25 +3,7 @@ compiler.cfg.registers compiler.cfg.stacks.clearing compiler.cfg.utilities
kernel tools.test ; kernel tools.test ;
IN: compiler.cfg.stacks.clearing.tests IN: compiler.cfg.stacks.clearing.tests
{ { } } [ ! clear-uninitialized
{ { 0 { } } { 0 { } } } state>replaces
] unit-test
{ t f f } [
{ { 0 { } } { 0 { } } } T{ ##peek { loc D 0 } } dangerous-insn?
{ { 1 { 0 } } { 0 { } } } T{ ##peek { loc D 0 } } dangerous-insn?
{ { 0 { -1 } } { 0 { } } } T{ ##peek { loc D -1 } } dangerous-insn?
] unit-test
{
{
T{ ##replace-imm { src 17 } { loc D 1 } }
T{ ##replace-imm { src 17 } { loc D 0 } }
}
} [
{ { 2 { } } { 0 { } } } state>replaces
] unit-test
{ {
V{ V{
T{ ##inc { loc D 2 } { insn# 0 } } T{ ##inc { loc D 2 } { insn# 0 } }
@ -33,3 +15,33 @@ IN: compiler.cfg.stacks.clearing.tests
{ T{ ##inc f D 2 } T{ ##peek f f D 2 } } insns>cfg { T{ ##inc f D 2 } T{ ##peek f f D 2 } } insns>cfg
dup clear-uninitialized cfg>insns dup clear-uninitialized cfg>insns
] unit-test ] unit-test
! dangerous-insn?
{ t f f } [
{ { 0 { } } { 0 { } } } T{ ##peek { loc D 0 } } dangerous-insn?
{ { 1 { 0 } } { 0 { } } } T{ ##peek { loc D 0 } } dangerous-insn?
{ { 0 { -1 } } { 0 { } } } T{ ##peek { loc D -1 } } dangerous-insn?
] unit-test
! state>replaces
{
{
T{ ##replace-imm { src 17 } { loc D 1 } }
T{ ##replace-imm { src 17 } { loc D 0 } }
}
} [
{ { 2 { } } { 0 { } } } state>replaces
] unit-test
{ { } } [
{ { 0 { } } { 0 { } } } state>replaces
] unit-test
{
{
T{ ##replace-imm { src 17 } { loc T{ ds-loc } } }
T{ ##replace-imm { src 17 } { loc T{ rs-loc } } }
}
} [
{ { 1 { } } { 1 { } } } state>replaces
] unit-test