diff options
author | Francisco Jerez <[email protected]> | 2017-04-20 11:44:01 -0700 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2017-04-24 10:59:56 -0700 |
commit | ecc19e12dca95d2571d3761dea6dec24b061013c (patch) | |
tree | a59f48a4447c6353b652e15e7f9eb25d9a098e61 /src/intel/compiler | |
parent | 6b10c37b9c3a73add73f444fe1aee73c9ec82c94 (diff) |
intel/fs: Use regs_written() in spilling cost heuristic for improved accuracy.
This is what we use later on to compute the number of registers that
will actually get spilled to memory, so it's more likely to match
reality than the current open-coded approximation.
Cc: <[email protected]>
Reviewed-by: Plamena Manolova <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel/compiler')
-rw-r--r-- | src/intel/compiler/brw_fs_reg_allocate.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/intel/compiler/brw_fs_reg_allocate.cpp b/src/intel/compiler/brw_fs_reg_allocate.cpp index c981d72e4f2..2d4d46ef334 100644 --- a/src/intel/compiler/brw_fs_reg_allocate.cpp +++ b/src/intel/compiler/brw_fs_reg_allocate.cpp @@ -826,8 +826,7 @@ fs_visitor::choose_spill_reg(struct ra_graph *g) } if (inst->dst.file == VGRF) - spill_costs[inst->dst.nr] += DIV_ROUND_UP(inst->size_written, REG_SIZE) - * block_scale; + spill_costs[inst->dst.nr] += regs_written(inst) * block_scale; switch (inst->opcode) { |