diff options
| author | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2020-01-09 10:33:49 +0100 |
|---|---|---|
| committer | Oliver Scherer <github35764891676564198441@oli-obk.de> | 2020-01-10 09:08:25 +0100 |
| commit | 050146f7f0d6ba4c0241a6fd8fa5d3fd67766e45 (patch) | |
| tree | befc213c454489467c5aa52c156f192de4c31aab | |
| parent | ecd5852194f43511443f134aebf0462b58c8e197 (diff) | |
| download | rust-050146f7f0d6ba4c0241a6fd8fa5d3fd67766e45.tar.gz rust-050146f7f0d6ba4c0241a6fd8fa5d3fd67766e45.zip | |
Add regression tests for promotion mir expansion
| -rw-r--r-- | src/test/mir-opt/const_prop/ref_deref.rs | 18 | ||||
| -rw-r--r-- | src/test/mir-opt/const_prop/ref_deref_project.rs | 41 |
2 files changed, 59 insertions, 0 deletions
diff --git a/src/test/mir-opt/const_prop/ref_deref.rs b/src/test/mir-opt/const_prop/ref_deref.rs index 6b5101af5fc..8b48296a5d9 100644 --- a/src/test/mir-opt/const_prop/ref_deref.rs +++ b/src/test/mir-opt/const_prop/ref_deref.rs @@ -3,6 +3,24 @@ fn main() { } // END RUST SOURCE +// START rustc.main.PromoteTemps.before.mir +// bb0: { +// ... +// _3 = const 4i32; +// _2 = &_3; +// _1 = (*_2); +// ... +//} +// END rustc.main.PromoteTemps.before.mir +// START rustc.main.PromoteTemps.after.mir +// bb0: { +// ... +// _4 = const main::promoted[0]; +// _2 = &(*_4); +// _1 = (*_2); +// ... +//} +// END rustc.main.PromoteTemps.after.mir // START rustc.main.ConstProp.before.mir // bb0: { // ... diff --git a/src/test/mir-opt/const_prop/ref_deref_project.rs b/src/test/mir-opt/const_prop/ref_deref_project.rs new file mode 100644 index 00000000000..5808a8be176 --- /dev/null +++ b/src/test/mir-opt/const_prop/ref_deref_project.rs @@ -0,0 +1,41 @@ +fn main() { + *(&(4, 5).1); +} + +// END RUST SOURCE +// START rustc.main.PromoteTemps.before.mir +// bb0: { +// ... +// _3 = (const 4i32, const 5i32); +// _2 = &(_3.1: i32); +// _1 = (*_2); +// ... +//} +// END rustc.main.PromoteTemps.before.mir +// START rustc.main.PromoteTemps.after.mir +// bb0: { +// ... +// _4 = const main::promoted[0]; +// _2 = &((*_4).1: i32); +// _1 = (*_2); +// ... +//} +// END rustc.main.PromoteTemps.after.mir +// START rustc.main.ConstProp.before.mir +// bb0: { +// ... +// _4 = const main::promoted[0]; +// _2 = &((*_4).1: i32); +// _1 = (*_2); +// ... +//} +// END rustc.main.ConstProp.before.mir +// START rustc.main.ConstProp.after.mir +// bb0: { +// ... +// _4 = const main::promoted[0]; +// _2 = &((*_4).1: i32); +// _1 = const 5i32; +// ... +// } +// END rustc.main.ConstProp.after.mir |
