diff options
Diffstat (limited to 'tools/mir_opt_test/tests/trivial.rs')
-rw-r--r-- | tools/mir_opt_test/tests/trivial.rs | 23 |
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; +} |