From: Jason Ekstrand Date: Wed, 15 May 2019 04:02:42 +0000 (-0500) Subject: intel/fs/ra: Add a helper for discarding the interference graph X-Git-Tag: upstream/19.3.0~6262 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2c14e2b5bfcef69ac173d3d512edf5d017f0be64;p=platform%2Fupstream%2Fmesa.git intel/fs/ra: Add a helper for discarding the interference graph Tested-by: Ian Romanick Reviewed-by: Kenneth Graunke --- diff --git a/src/intel/compiler/brw_fs_reg_allocate.cpp b/src/intel/compiler/brw_fs_reg_allocate.cpp index b2bd514..aeb7214 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); }