diff options
| author | 2023-06-24 22:53:14 +0200 | |
|---|---|---|
| committer | 2023-06-24 22:53:14 +0200 | |
| commit | 06c5bffcfc657df7216987aba5319761da9bbd97 (patch) | |
| tree | a905043b56c7fc65ee09c9f68d9fbc55cdca0f01 /ir.c | |
| parent | f5092933be41ae07874a070c9f25a91a46cb8699 (diff) | |
ir: dattab shouldn't reset for every function
this was causing later functions' data to override earlier data
Diffstat (limited to 'ir.c')
| -rw-r--r-- | ir.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -38,7 +38,7 @@ irinit(struct function *fn) vinit(&calltab, callsbuf, arraylength(callsbuf)); for (int i = 0; i < phitab.n; ++i) xbfree(phitab.p[i]); vinit(&phitab, phisbuf, arraylength(phisbuf)); - vinit(&dattab, datsbuf, arraylength(datsbuf)); + if (!dattab.p) vinit(&dattab, datsbuf, arraylength(datsbuf)); if (naddrht >= arraylength(addrht)/2) memset(addrht, naddrht = 0, sizeof addrht); if (nconht >= arraylength(conht)/2) |