-
Notifications
You must be signed in to change notification settings - Fork 12.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[MIR] non-zeroing drop #33622
[MIR] non-zeroing drop #33622
Commits on Jun 3, 2016
-
introduce DropAndReplace for translating assignments
this introduces a DropAndReplace terminator as a fix to rust-lang#30380. That terminator is suppsoed to be translated by desugaring during drop elaboration, which is not implemented in this commit, so this breaks `-Z orbit` temporarily.
Configuration menu - View commit details
-
Copy full SHA for de7cb0f - Browse repository at this point
Copy the full SHA de7cb0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a091cfd - Browse repository at this point
Copy the full SHA a091cfdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d6d646 - Browse repository at this point
Copy the full SHA 8d6d646View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4fff195 - Browse repository at this point
Copy the full SHA 4fff195View commit details -
Configuration menu - View commit details
-
Copy full SHA for f6068ea - Browse repository at this point
Copy the full SHA f6068eaView commit details -
check for is_cleanup violations in MIR typeck
There weren't any in practice, but as these cause MSVC-only problems, the check looks like a good idea.
Configuration menu - View commit details
-
Copy full SHA for 148f842 - Browse repository at this point
Copy the full SHA 148f842View commit details
Commits on Jun 4, 2016
-
jump to the cleanup block in the unwind path for open_drop_for_box
silly bug. Hopefully the last one.
Configuration menu - View commit details
-
Copy full SHA for 506086e - Browse repository at this point
Copy the full SHA 506086eView commit details -
fix translation of terminators in MSVC cleanup blocks
MSVC requires unwinding code to be split to a tree of *funclets*, where each funclet can only branch to itself or to to its parent. Luckily, the code we generates matches this pattern. Recover that structure in an analyze pass and translate according to that.
Configuration menu - View commit details
-
Copy full SHA for 1ae7ae0 - Browse repository at this point
Copy the full SHA 1ae7ae0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4248269 - Browse repository at this point
Copy the full SHA 4248269View commit details
Commits on Jun 5, 2016
-
break critical edges only when needed
the *only* place where critical edges need to be broken is on Call instructions, so only break them there.
Configuration menu - View commit details
-
Copy full SHA for 4106ab2 - Browse repository at this point
Copy the full SHA 4106ab2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 063f882 - Browse repository at this point
Copy the full SHA 063f882View commit details