diff options
| author | 2023-06-24 23:37:14 +0200 | |
|---|---|---|
| committer | 2023-06-24 23:37:14 +0200 | |
| commit | ba84ebbd89d1dbe431f71b010b2d71214303ae48 (patch) | |
| tree | 3e39efbbacd6892986b0bff70cf232bd3c87e32d /ir.h | |
| parent | a140edef347a033a5743346ca1d29687e424910a (diff) | |
fix regalloc thinking some ins are dead by adding ins.keep
Diffstat (limited to 'ir.h')
| -rw-r--r-- | ir.h | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -109,7 +109,8 @@ enum intrin { struct instr { uchar op, cls; /* operation data class; also result class except for cmp ops (always i4) */ - uchar skip : 1; /* ignore during codegen: forms part of one machine instruction */ + uchar skip : 1, /* ignore during codegen: forms part of one machine instruction */ + keep : 1; /* for codegen, keep instr even if result seems unused */ uchar inplace : 1; /* set (by isel) for instructions which modify its first arg in place */ uchar reg; /* 0 -> no reg; else reg + 1 */ union ref l, r; |