diff options
author | Andy Wingo <wingo@pobox.com> | 2012-06-22 12:25:34 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2012-06-22 12:33:20 +0200 |
commit | 4d1ae112792cb8faaa1f42b5c7332e9de05001ee (patch) | |
tree | 22dce99154a0a75fa5b1b1c70bb7fbf36a403b62 /module/language/tree-il/cse.scm | |
parent | 378daa5fa51f1d193f7236c2691acba59e9af539 (diff) | |
download | guile-4d1ae112792cb8faaa1f42b5c7332e9de05001ee.tar.gz |
cse: expressions evaluated for effect do not provide predicates
* module/language/tree-il/cse.scm (cse): When trying to fold
conditionals, only look at entries in the database that were added in
test context.
* test-suite/tests/cse.test ("cse"): Add a test case.
Diffstat (limited to 'module/language/tree-il/cse.scm')
-rw-r--r-- | module/language/tree-il/cse.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/module/language/tree-il/cse.scm b/module/language/tree-il/cse.scm index ceef15f70..b8e722967 100644 --- a/module/language/tree-il/cse.scm +++ b/module/language/tree-il/cse.scm @@ -276,11 +276,11 @@ #f))) (_ (cond - ((find-dominating-expression exp effects #f db) + ((find-dominating-expression exp effects 'test db) ;; We have an EXP fact, so we infer #t. (log 'inferring exp #t) (make-const (tree-il-src exp) #t)) - ((find-dominating-expression (negate exp 'test) effects #f db) + ((find-dominating-expression (negate exp 'test) effects 'test db) ;; We have a (not EXP) fact, so we infer #f. (log 'inferring exp #f) (make-const (tree-il-src exp) #f)) |