summaryrefslogtreecommitdiff
path: root/tools/mir_opt_test/tests/trivial.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mir_opt_test/tests/trivial.rs')
-rw-r--r--tools/mir_opt_test/tests/trivial.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/mir_opt_test/tests/trivial.rs b/tools/mir_opt_test/tests/trivial.rs
index f2f125b8..80d78620 100644
--- a/tools/mir_opt_test/tests/trivial.rs
+++ b/tools/mir_opt_test/tests/trivial.rs
@@ -1,3 +1,4 @@
+// No-op test
#[test="test_trivial"]
fn test_trivial()
{
@@ -39,6 +40,7 @@ fn dce_exp()
} RETURN;
}
+// Inlining
#[test="inlining_exp"]
fn inlining()
{
@@ -61,3 +63,24 @@ fn inlining_exp()
ASSIGN retval = ();
} RETURN;
}
+
+// Constant propagation leading to DCE
+#[test="constprop_exp"]
+fn constprop()
+{
+ let v1: bool;
+ bb0: {
+ ASSIGN v1 = true;
+ } IF v1 => bb1 else bb2;
+ bb1: {
+ ASSIGN retval = ();
+ } RETURN;
+ bb2: {
+ } DIVERGE;
+}
+fn constprop_exp()
+{
+ bb0: {
+ ASSIGN retval = ();
+ } RETURN;
+}