diff options
author | Kenneth Graunke <[email protected]> | 2016-10-15 03:18:36 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2016-10-24 14:33:38 -0700 |
commit | 27715c73ff84349466f62df0023863acd477f262 (patch) | |
tree | 4b36a22b357f11465796860a030d0df3eda49305 /docs | |
parent | 3728ee000aecb19793dec56d45aff9d6cfce3e5b (diff) |
i965: Make split_virtual_grfs() call compact_virtual_grfs().
Post-splitting, VGRFs have a maximum size (MAX_VGRF_SIZE). This is
required by the register allocator, as we have to create classes for
each size of VGRF.
We can (and do) allocate virtual registers larger than MAX_VGRF_SIZE,
but we must ensure that they are splittable. split_virtual_grfs()
asserts that the post-splitting register size is in range.
Unfortunately, these trip for completely dead registers which are too
large - we only set split points for live registers. So dead ones are
never split, and if they happened to be too large, they'd trip asserts.
To fix this, call compact_virtual_grfs() to eliminate dead registers
before splitting.
v2: Add a comment written by Iago.
Cc: [email protected]
Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions