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.
This commit is contained in:
Quentin Carbonneaux 2017-02-24 12:00:38 -05:00
parent 5165fcae76
commit a35dc8c495
2 changed files with 11 additions and 4 deletions

1
all.h
View file

@ -391,6 +391,7 @@ struct Alias {
Ref base;
char label[NString];
int64_t offset;
Alias *slot;
};
struct Tmp {