diff options
author | Ian Romanick <[email protected]> | 2018-10-30 19:15:18 -0700 |
---|---|---|
committer | Ian Romanick <[email protected]> | 2018-12-16 14:39:56 -0800 |
commit | 7adafd6e1c94f3730e9233a34b2e970090e508fd (patch) | |
tree | 8031576890179a722e377595e3318c9b70c03170 /src | |
parent | 8161a87b249c4e4e58a6163f09a52391aa20588a (diff) |
nir: Fix holes in nir_instr
Found using pahole.
Changes in peak memory usage according to Valgrind massif:
mean soft fp64 using uint64: 1,343,991,403 => 1,342,759,331
gfxbench5 aztec ruins high 11: 63,619,971 => 63,555,571
deus ex mankind divided 148: 62,887,728 => 62,845,304
deus ex mankind divided 2890: 72,399,750 => 71,922,686
dirt showdown 676: 69,464,023 => 69,238,607
dolphin ubershaders 210: 78,359,728 => 77,822,072
Signed-off-by: Ian Romanick <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/nir/nir.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 3bf9621d1f8..d99cc6b2d38 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -487,7 +487,7 @@ typedef struct nir_register { #define nir_foreach_register_safe(reg, reg_list) \ foreach_list_typed_safe(nir_register, reg, node, reg_list) -typedef enum { +typedef enum PACKED { nir_instr_type_alu, nir_instr_type_deref, nir_instr_type_call, @@ -502,16 +502,16 @@ typedef enum { typedef struct nir_instr { struct exec_node node; - nir_instr_type type; struct nir_block *block; - - /** generic instruction index. */ - unsigned index; + nir_instr_type type; /* A temporary for optimization and analysis passes to use for storing * flags. For instance, DCE uses this to store the "dead/live" info. */ uint8_t pass_flags; + + /** generic instruction index. */ + unsigned index; } nir_instr; static inline nir_instr * |