[−][src]Module rustc_mir::transform::add_retag
This pass adds validation calls (AcquireValid, ReleaseValid) where appropriate. It has to be run really early, before transformations like inlining, because introducing these calls adds UB -- so, conceptually, this pass is actually part of MIR building, and only after this pass we think of the program has having the normal MIR semantics.
Structs
| AddRetag |
Functions
| is_stable | Determines whether this place is "stable": Whether, if we evaluate it again after the assignment, we can be sure to obtain the same place value. (Concurrent accesses by other threads are no problem as these are anyway non-atomic copies. Data races are UB.) |
| may_be_reference | Determine whether this type may be a reference (or box), and thus needs retagging. |