summaryrefslogtreecommitdiff
path: root/test-suite/tests/cse.test
diff options
context:
space:
mode:
Diffstat (limited to 'test-suite/tests/cse.test')
-rw-r--r--test-suite/tests/cse.test17
1 files changed, 16 insertions, 1 deletions
diff --git a/test-suite/tests/cse.test b/test-suite/tests/cse.test
index d09dc53db..154cc0614 100644
--- a/test-suite/tests/cse.test
+++ b/test-suite/tests/cse.test
@@ -266,4 +266,19 @@
(let ((x (car y)))
(cons x (car y)))
(let (x) (_) ((primcall car (toplevel y)))
- (primcall cons (lexical x _) (lexical x _)))))
+ (primcall cons (lexical x _) (lexical x _))))
+
+ ;; Dominating expressions only provide predicates when evaluated in
+ ;; test context.
+ (pass-if-cse
+ (let ((t (car x)))
+ (if (car x)
+ 'one
+ 'two))
+ ;; Actually this one should reduce in other ways, but this is the
+ ;; current reduction:
+ (seq
+ (primcall car (toplevel x))
+ (if (primcall car (toplevel x))
+ (const one)
+ (const two)))))