diff options
| author | bors <bors@rust-lang.org> | 2016-09-29 07:53:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-29 07:53:33 -0700 |
| commit | ff67da63ea4ca9b19e1e8ee97de002a64a2a0473 (patch) | |
| tree | 13299f7238d77d904402578a9600bb9f4b4f2be8 /src/rustllvm/RustWrapper.cpp | |
| parent | 704bcc0ddafc0b3c3f4879286204442d43169e30 (diff) | |
| parent | d2c8893137fa98ce3b0de68b1d6ee95aecb743ee (diff) | |
| download | rust-ff67da63ea4ca9b19e1e8ee97de002a64a2a0473.tar.gz rust-ff67da63ea4ca9b19e1e8ee97de002a64a2a0473.zip | |
Auto merge of #36752 - jonas-schievink:vartmparg, r=eddyb
Move MIR towards a single kind of local This PR modifies MIR to handle function arguments (`Arg`), user-defined variable bindings (`Var`), compiler-generated temporaries (`Tmp`), as well as the return value pointer equally. All of them are replaced with a single `Local` type, a few functions for iterating over different kinds of locals, and a way to get the kind of local we're dealing with (mainly used in the constant qualification/propagation passes). ~~I haven't managed to fix one remaining issue: A `StorageDead` not getting emitted for a variable (see the `TODO` in the test). If that's fixed, this is basically good to go.~~ Found the issue (an off-by-one error), fix incoming. r? @eddyb for changes to constant qualification and propagation I'm not quite sure about
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
