diff options
| author | Quentin Carbonneaux <[email protected]> | 2017-02-24 12:00:38 -0500 |
|---|---|---|
| committer | Quentin Carbonneaux <[email protected]> | 2017-02-24 12:00:38 -0500 |
| commit | a35dc8c495467306ca149d642b2d2983922d7a9d (patch) | |
| tree | b6c7958a7252fd489f7aac02ecc17e1b54948614 /all.h | |
| parent | 5165fcae767801a20316530c0ec9f096158aa2e4 (diff) | |
fix pretty bad bug in alias analysis
When a temporary marked local is escaping,
the whole slot must be marked as such. To
solve this, Alias now holds a pointer to
the alias information of the slot. For
simplicity of the code, this pointer is
always valid and fetching ->type out of it
is meaningful.
Diffstat (limited to 'all.h')
| -rw-r--r-- | all.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -391,6 +391,7 @@ struct Alias { Ref base; char label[NString]; int64_t offset; + Alias *slot; }; struct Tmp { |
