diff options
| author | Quentin Carbonneaux <[email protected]> | 2025-05-30 17:40:17 +0200 |
|---|---|---|
| committer | Quentin Carbonneaux <[email protected]> | 2025-05-30 17:40:17 +0200 |
| commit | 120f316162879b6165deba77815cd4193fb2fb59 (patch) | |
| tree | 07d50a01f709996dc97e1999c40aaa5be17cc271 | |
| parent | 8d5b86ac4c24e24802a60e5e9df2dd5902fe0a5c (diff) | |
skip deleted phis in use width scan
| -rw-r--r-- | copy.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -60,7 +60,13 @@ usewidthle(Fn *fn, Ref r, int w) switch (u->type) { case UPhi: p = u->u.phi; - if (p->visit) + /* during gvn, phi nodes may be + * replaced by other temps; in + * this case, the replaced phi + * uses are added to the + * replacement temp uses and + * Phi.to is set to R */ + if (p->visit || req(p->to, R)) continue; p->visit = 1; b = usewidthle(fn, p->to, w); |
