From 2c14e2b5bfcef69ac173d3d512edf5d017f0be64 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 14 May 2019 23:02:42 -0500 Subject: [PATCH 1/1] intel/fs/ra: Add a helper for discarding the interference graph Tested-by: Ian Romanick Reviewed-by: Kenneth Graunke --- src/intel/compiler/brw_fs_reg_allocate.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/intel/compiler/brw_fs_reg_allocate.cpp b/src/intel/compiler/brw_fs_reg_allocate.cpp index b2bd514dc3b..aeb7214ba38 100644 --- a/src/intel/compiler/brw_fs_reg_allocate.cpp +++ b/src/intel/compiler/brw_fs_reg_allocate.cpp @@ -431,6 +431,7 @@ private: void setup_inst_interference(fs_inst *inst); void build_interference_graph(bool allow_spilling); + void discard_interference_graph(); void set_spill_costs(); int choose_spill_reg(); @@ -800,6 +801,13 @@ fs_reg_alloc::build_interference_graph(bool allow_spilling) set_spill_costs(); } +void +fs_reg_alloc::discard_interference_graph() +{ + ralloc_free(g); + g = NULL; +} + static void emit_unspill(const fs_builder &bld, fs_reg dst, uint32_t spill_offset, unsigned count) @@ -1148,8 +1156,7 @@ fs_reg_alloc::assign_regs(bool allow_spilling, bool spill_all) * re-build the interference graph with MRFs enabled to allow spilling. */ if (!fs->spilled_any_registers) { - ralloc_free(g); - g = NULL; + discard_interference_graph(); build_interference_graph(true); } -- 2.30.2