intel/brw: Move calculate_cfg out of fs_visitor

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30169>
This commit is contained in:
Caio Oliveira
2024-07-12 17:08:46 -07:00
committed by Marge Bot
parent b98930c770
commit 8a39231e4f
18 changed files with 133 additions and 133 deletions

View File

@@ -735,11 +735,11 @@ cfg_t::dump_cfg()
}
void
fs_visitor::calculate_cfg()
brw_calculate_cfg(fs_visitor &s)
{
if (this->cfg)
if (s.cfg)
return;
cfg = new(mem_ctx) cfg_t(this, &this->instructions);
s.cfg = new(s.mem_ctx) cfg_t(&s, &s.instructions);
}
#define cfgv_assert(assertion) \

View File

@@ -43,7 +43,7 @@ run_bs(fs_visitor &s, bool allow_spilling)
/* TODO(RT): Perhaps rename this? */
s.emit_cs_terminate();
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -81,7 +81,7 @@ run_cs(fs_visitor &s, bool allow_spilling)
s.emit_cs_terminate();
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -628,7 +628,7 @@ brw_emit_repclear_shader(fs_visitor &s)
write->eot = true;
write->last_rt = true;
s.calculate_cfg();
brw_calculate_cfg(s);
s.first_non_payload_grf = s.payload().num_regs;
@@ -1473,7 +1473,7 @@ run_fs(fs_visitor &s, bool allow_spilling, bool do_rep_send)
brw_emit_fb_writes(s);
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -116,7 +116,7 @@ run_gs(fs_visitor &s)
if (s.failed)
return false;
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -296,7 +296,7 @@ run_task_mesh(fs_visitor &s, bool allow_spilling)
s.emit_cs_terminate();
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -164,7 +164,7 @@ run_tcs(fs_visitor &s)
if (s.failed)
return false;
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -40,7 +40,7 @@ run_tes(fs_visitor &s)
s.emit_urb_writes();
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -43,7 +43,7 @@ run_vs(fs_visitor &s)
s.emit_urb_writes();
s.calculate_cfg();
brw_calculate_cfg(s);
brw_fs_optimize(s);

View File

@@ -326,8 +326,6 @@ public:
brw_reg per_primitive_reg(const brw::fs_builder &bld,
int location, unsigned comp);
void calculate_cfg();
const struct brw_compiler *compiler;
void *log_data; /* Passed to compiler->*_log functions */
@@ -612,6 +610,8 @@ void brw_fs_validate(const fs_visitor &s);
static inline void brw_fs_validate(const fs_visitor &s) {}
#endif
void brw_calculate_cfg(fs_visitor &s);
void brw_fs_optimize(fs_visitor &s);
instruction_scheduler *brw_prepare_scheduler(fs_visitor &s, void *mem_ctx);

View File

@@ -1750,7 +1750,7 @@ brw_fs_opt_combine_constants(fs_visitor &s)
delete s.cfg;
s.cfg = NULL;
s.calculate_cfg();
brw_calculate_cfg(s);
}
ralloc_free(const_ctx);

View File

@@ -146,7 +146,7 @@ TEST_F(cmod_propagation_test, basic)
* 0: add.ge.f0(8) dest src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -178,7 +178,7 @@ TEST_F(cmod_propagation_test, basic_other_flag)
* 0: add.ge.f0.1(8) dest src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -210,7 +210,7 @@ TEST_F(cmod_propagation_test, cmp_nonzero)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -241,7 +241,7 @@ TEST_F(cmod_propagation_test, non_cmod_instruction)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -272,7 +272,7 @@ TEST_F(cmod_propagation_test, non_cmod_livechannel)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -307,7 +307,7 @@ TEST_F(cmod_propagation_test, intervening_flag_write)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -346,7 +346,7 @@ TEST_F(cmod_propagation_test, intervening_mismatch_flag_write)
* 1: cmp.ge.f0.1(8) null src2 0.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -385,7 +385,7 @@ TEST_F(cmod_propagation_test, intervening_flag_read)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -425,7 +425,7 @@ TEST_F(cmod_propagation_test, intervening_mismatch_flag_read)
* 1: (+f0.1) sel(8) dest1 src2 0.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -472,7 +472,7 @@ TEST_F(cmod_propagation_test, intervening_dest_write)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -512,7 +512,7 @@ TEST_F(cmod_propagation_test, intervening_flag_read_same_value)
* 1: (+f0) sel(8) dest1 src2 0.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -546,7 +546,7 @@ TEST_F(cmod_propagation_test, negate)
* 0: add.le.f0(8) dest src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -577,7 +577,7 @@ TEST_F(cmod_propagation_test, movnz)
* 0: cmp.ge.f0(8) dest src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -609,7 +609,7 @@ TEST_F(cmod_propagation_test, different_types_cmod_with_zero)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -642,7 +642,7 @@ TEST_F(cmod_propagation_test, andnz_one)
* 0: cmp.l.f0(8) dest:F src0:F 0F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -676,7 +676,7 @@ TEST_F(cmod_propagation_test, andnz_non_one)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -708,7 +708,7 @@ TEST_F(cmod_propagation_test, cmp_cmpnz)
* 0: cmp.nz.f0.0(8) vgrf0:F, vgrf1:F, 0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -735,7 +735,7 @@ TEST_F(cmod_propagation_test, cmp_cmpg)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_FALSE(cmod_propagation(v));
@@ -764,7 +764,7 @@ TEST_F(cmod_propagation_test, plnnz_cmpnz)
* 0: pln.nz.f0.0(8) vgrf0:F, vgrf1:F, 0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -791,7 +791,7 @@ TEST_F(cmod_propagation_test, plnnz_cmpz)
* 0: pln.z.f0.0(8) vgrf0:F, vgrf1:F, 0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -821,7 +821,7 @@ TEST_F(cmod_propagation_test, plnnz_sel_cmpz)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_FALSE(cmod_propagation(v));
@@ -852,7 +852,7 @@ TEST_F(cmod_propagation_test, cmp_cmpg_D)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_FALSE(cmod_propagation(v));
@@ -881,7 +881,7 @@ TEST_F(cmod_propagation_test, cmp_cmpg_UD)
* 0: cmp.nz.f0.0(8) vgrf0:UD, vgrf1:UD, 0u
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -908,7 +908,7 @@ TEST_F(cmod_propagation_test, cmp_cmpl_D)
* 0: cmp.nz.f0.0(8) vgrf0:D, vgrf1:D, 0d
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -935,7 +935,7 @@ TEST_F(cmod_propagation_test, cmp_cmpl_UD)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_FALSE(cmod_propagation(v));
@@ -966,7 +966,7 @@ TEST_F(cmod_propagation_test, andz_one)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -999,7 +999,7 @@ TEST_F(cmod_propagation_test, add_not_merge_with_compare)
* = After =
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1029,7 +1029,7 @@ TEST_F(cmod_propagation_test, subtract_merge_with_compare)
* = After =
* 0: add.l.f0(8) dest:F src0:F -src1:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1059,7 +1059,7 @@ TEST_F(cmod_propagation_test, subtract_immediate_merge_with_compare)
* = After =
* 0: add.nz.f0(8) dest:F src0:F -1.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1091,7 +1091,7 @@ TEST_F(cmod_propagation_test, subtract_merge_with_compare_intervening_add)
* 0: add.l.f0(8) dest0:F src0:F -src1:F
* 1: add(8) dest1:F src0:F src1:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1124,7 +1124,7 @@ TEST_F(cmod_propagation_test, subtract_not_merge_with_compare_intervening_partia
* = After =
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1159,7 +1159,7 @@ TEST_F(cmod_propagation_test, subtract_not_merge_with_compare_intervening_add)
* = After =
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1191,7 +1191,7 @@ TEST_F(cmod_propagation_test, add_merge_with_compare)
* = After =
* 0: add.l.f0(8) dest:F src0:F src1:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1222,7 +1222,7 @@ TEST_F(cmod_propagation_test, negative_subtract_merge_with_compare)
* = After =
* 0: add.g.f0(8) dest:F src0:F -src1:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1256,7 +1256,7 @@ TEST_F(cmod_propagation_test, subtract_delete_compare)
* 0: add.l.f0(8) dest:F src0:F -src1:F
* 1: (+f0) mov(0) dest1:F src2:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1297,7 +1297,7 @@ TEST_F(cmod_propagation_test, subtract_delete_compare_other_flag)
* 0: add.l.f0.1(8) dest:F src0:F -src1:F
* 1: (+f0) mov(0) dest1:F src2:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1330,7 +1330,7 @@ TEST_F(cmod_propagation_test, subtract_to_mismatch_flag)
* = After =
* No changes
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1377,7 +1377,7 @@ TEST_F(cmod_propagation_test,
* Because of this, the cmp.l.f0 will always be chosen. If the pass
* changes its strategy, this test will also need to change.
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1418,7 +1418,7 @@ TEST_F(cmod_propagation_test,
* 0: add.l.f0(8) dest0:F src0:F -src1:F
* 1: (+f0.1) sel(8) dest1 src2 0.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1455,7 +1455,7 @@ TEST_F(cmod_propagation_test, subtract_delete_compare_derp)
* 0: add.l.f0(8) dest0:F src0:F -src1:F
* 1: (+f0) add(0) dest1:F -src0:F src1:F
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1487,7 +1487,7 @@ TEST_F(cmod_propagation_test, signed_unsigned_comparison_mismatch)
* = After =
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1522,7 +1522,7 @@ TEST_F(cmod_propagation_test, ior_f2i_nz)
* dest, interpreted as floating point, is 0.5. This bit pattern is not
* zero, but after the float-to-integer conversion, the value is zero.
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -1557,7 +1557,7 @@ cmod_propagation_test::test_mov_prop(enum brw_conditional_mod cmod,
bld.MOV(retype(bld.null_reg_ud(), mov_dst_type), dest)
->conditional_mod = cmod;
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2144,7 +2144,7 @@ cmod_propagation_test::test_saturate_prop(enum brw_conditional_mod before,
->conditional_mod = before;
}
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2626,7 +2626,7 @@ TEST_F(cmod_propagation_test, not_to_or)
* 0: or.z.f0(8) dest src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2659,7 +2659,7 @@ TEST_F(cmod_propagation_test, not_to_and)
* 0: and.z.f0(8) dest src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2697,7 +2697,7 @@ TEST_F(cmod_propagation_test, not_to_uadd)
* No changes
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2737,7 +2737,7 @@ TEST_F(cmod_propagation_test, not_to_fadd_to_ud)
* No changes
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2779,7 +2779,7 @@ TEST_F(cmod_propagation_test, not_to_fadd)
* No changes
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2820,7 +2820,7 @@ TEST_F(cmod_propagation_test, not_to_or_intervening_flag_read_compatible_value)
* 1: (+f0) sel(8) dest1 src2 0.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2862,7 +2862,7 @@ TEST_F(cmod_propagation_test,
* No changes
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2906,7 +2906,7 @@ TEST_F(cmod_propagation_test, not_to_or_intervening_flag_read_incompatible_value
* No changes
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2949,7 +2949,7 @@ TEST_F(cmod_propagation_test, not_to_or_intervening_mismatch_flag_write)
* 1: or.z.f0.1(8) dest1 src0 src1
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -2994,7 +2994,7 @@ TEST_F(cmod_propagation_test, not_to_or_intervening_mismatch_flag_read)
* 1: (+f0.1) sel(8) dest1 src2 0.0f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -3029,7 +3029,7 @@ TEST_F(cmod_propagation_test, cmp_to_add_float_e)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_FALSE(cmod_propagation(v));
@@ -3059,7 +3059,7 @@ TEST_F(cmod_propagation_test, cmp_to_add_float_g)
* 0: add.sat.g.f0.0(8) vgrf0:F, vgrf1:F, -10f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -3087,7 +3087,7 @@ TEST_F(cmod_propagation_test, cmp_to_add_float_le)
* 0: add.sat.le.f0.0(8) vgrf0:F, vgrf1:F, -10f
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_TRUE(cmod_propagation(v));
@@ -3121,7 +3121,7 @@ TEST_F(cmod_propagation_test, prop_across_sel)
* 1: sel.ge(8) dest2 src2 src3
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);

View File

@@ -82,7 +82,7 @@ TEST_F(FSCombineConstantsTest, Simple)
brw_reg imm_b = brw_imm_ud(2);
bld.SEL(r, imm_a, imm_b);
shader->calculate_cfg();
brw_calculate_cfg(*shader);
bool progress = opt_combine_constants(shader);
ASSERT_TRUE(progress);
@@ -113,7 +113,7 @@ TEST_F(FSCombineConstantsTest, DoContainingDo)
bld.WHILE();
bld.WHILE();
bld.SEL(r2, imm_a, imm_b);
shader->calculate_cfg();
brw_calculate_cfg(*shader);
unsigned original_num_blocks = shader->cfg->num_blocks;

View File

@@ -136,7 +136,7 @@ TEST_F(copy_propagation_test, basic)
* 1: add(8) vgrf1 vgrf2 vgrf3
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -197,7 +197,7 @@ TEST_F(copy_propagation_test, maxmax_sat_imm)
bld.SEL(vgrf2, vgrf0,
brw_imm_f(test[i].immediate)));
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];

View File

@@ -122,7 +122,7 @@ TEST_F(cse_test, add3_invalid)
* Same
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);

View File

@@ -137,7 +137,7 @@ TEST_F(saturate_propagation_test, basic)
* 1: mov(16) dst1 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -173,7 +173,7 @@ TEST_F(saturate_propagation_test, other_non_saturated_use)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -208,7 +208,7 @@ TEST_F(saturate_propagation_test, predicated_instruction)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -241,7 +241,7 @@ TEST_F(saturate_propagation_test, neg_mov_sat)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -276,7 +276,7 @@ TEST_F(saturate_propagation_test, add_neg_mov_sat)
* 1: mov(16) dst1 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -313,7 +313,7 @@ TEST_F(saturate_propagation_test, add_imm_float_neg_mov_sat)
* 1: mov(16) dst1 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -350,7 +350,7 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat)
* 1: mov(16) dst1 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -388,7 +388,7 @@ TEST_F(saturate_propagation_test, mad_neg_mov_sat)
* 1: mov(16) dst1 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -433,7 +433,7 @@ TEST_F(saturate_propagation_test, mad_imm_float_neg_mov_sat)
* 1: mov(16) dst1 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -473,7 +473,7 @@ TEST_F(saturate_propagation_test, mul_mov_sat_neg_mov_sat)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -514,7 +514,7 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat_neg_mov_sat)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -553,7 +553,7 @@ TEST_F(saturate_propagation_test, abs_mov_sat)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -591,7 +591,7 @@ TEST_F(saturate_propagation_test, producer_saturates)
* 2: mov(16) dst2 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -629,7 +629,7 @@ TEST_F(saturate_propagation_test, intervening_saturating_copy)
* 2: mov(16) dst2 dst0
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -676,7 +676,7 @@ TEST_F(saturate_propagation_test, intervening_dest_write)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -716,7 +716,7 @@ TEST_F(saturate_propagation_test, mul_neg_mov_sat_mov_sat)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -753,7 +753,7 @@ TEST_F(saturate_propagation_test, smaller_exec_size_consumer)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -786,7 +786,7 @@ TEST_F(saturate_propagation_test, larger_exec_size_consumer)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);
@@ -822,7 +822,7 @@ TEST_F(saturate_propagation_test, offset_source_barrier)
* (no changes)
*/
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
EXPECT_EQ(0, block0->start_ip);

View File

@@ -160,7 +160,7 @@ TEST_F(scoreboard_test, RAW_inorder_inorder)
bld.MUL( y, g[3], g[4]);
bld.AND(g[5], x, y);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -185,7 +185,7 @@ TEST_F(scoreboard_test, RAW_inorder_outoforder)
bld.MUL( g[3], g[4], g[5]);
emit_SEND(bld, g[6], g[7], x);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -211,7 +211,7 @@ TEST_F(scoreboard_test, RAW_outoforder_inorder)
bld.MUL( y, g[3], g[4]);
bld.AND( g[5], x, y);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -239,7 +239,7 @@ TEST_F(scoreboard_test, RAW_outoforder_outoforder)
emit_SEND(bld, x, g[1], g[2]);
emit_SEND(bld, g[3], x, g[4])->sfid++;
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(1, block0->end_ip);
@@ -268,7 +268,7 @@ TEST_F(scoreboard_test, WAR_inorder_inorder)
bld.MUL(g[3], g[4], g[5]);
bld.AND( x, g[6], g[7]);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -293,7 +293,7 @@ TEST_F(scoreboard_test, WAR_inorder_outoforder)
bld.MUL( g[3], g[4], g[5]);
emit_SEND(bld, x, g[6], g[7]);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -318,7 +318,7 @@ TEST_F(scoreboard_test, WAR_outoforder_inorder)
bld.MUL( g[4], g[5], g[6]);
bld.AND( x, g[7], g[8]);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -342,7 +342,7 @@ TEST_F(scoreboard_test, WAR_outoforder_outoforder)
emit_SEND(bld, g[1], g[2], x);
emit_SEND(bld, x, g[3], g[4])->sfid++;
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(1, block0->end_ip);
@@ -371,7 +371,7 @@ TEST_F(scoreboard_test, WAW_inorder_inorder)
bld.MUL(g[3], g[4], g[5]);
bld.AND( x, g[6], g[7]);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -401,7 +401,7 @@ TEST_F(scoreboard_test, WAW_inorder_outoforder)
bld.MUL( g[3], g[4], g[5]);
emit_SEND(bld, x, g[6], g[7]);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -426,7 +426,7 @@ TEST_F(scoreboard_test, WAW_outoforder_inorder)
bld.MUL( g[3], g[4], g[5]);
bld.AND( x, g[6], g[7]);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -450,7 +450,7 @@ TEST_F(scoreboard_test, WAW_outoforder_outoforder)
emit_SEND(bld, x, g[1], g[2]);
emit_SEND(bld, x, g[3], g[4])->sfid++;
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(1, block0->end_ip);
@@ -485,7 +485,7 @@ TEST_F(scoreboard_test, loop1)
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *body = v->cfg->blocks[2];
@@ -518,7 +518,7 @@ TEST_F(scoreboard_test, loop2)
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
/* Now the write in ADD has the tightest RegDist for both ADD and MUL. */
@@ -556,7 +556,7 @@ TEST_F(scoreboard_test, loop3)
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *body = v->cfg->blocks[2];
@@ -586,7 +586,7 @@ TEST_F(scoreboard_test, conditional1)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *body = v->cfg->blocks[1];
@@ -618,7 +618,7 @@ TEST_F(scoreboard_test, conditional2)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *body = v->cfg->blocks[1];
@@ -650,7 +650,7 @@ TEST_F(scoreboard_test, conditional3)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *body = v->cfg->blocks[1];
@@ -682,7 +682,7 @@ TEST_F(scoreboard_test, conditional4)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *body = v->cfg->blocks[1];
@@ -714,7 +714,7 @@ TEST_F(scoreboard_test, conditional5)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *then_body = v->cfg->blocks[1];
@@ -758,7 +758,7 @@ TEST_F(scoreboard_test, conditional6)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *then_body = v->cfg->blocks[1];
@@ -802,7 +802,7 @@ TEST_F(scoreboard_test, conditional7)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *then_body = v->cfg->blocks[1];
@@ -844,7 +844,7 @@ TEST_F(scoreboard_test, conditional8)
bld.emit(BRW_OPCODE_ENDIF);
bld.MUL( x, g[1], g[2]);
v->calculate_cfg();
brw_calculate_cfg(*v);
lower_scoreboard(v);
bblock_t *then_body = v->cfg->blocks[1];
@@ -880,7 +880,7 @@ TEST_F(scoreboard_test, gfx125_RaR_over_different_pipes)
bld.ADD(a, x, x);
bld.ADD(x, b, b);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(2, block0->end_ip);
@@ -905,7 +905,7 @@ TEST_F(scoreboard_test, gitlab_issue_from_mr_29723)
bld1.ADD( a, stride(b, 0, 1, 0), brw_imm_ud(256));
bld1.CMP(brw_null_reg(), stride(a, 2, 1, 2), stride(b, 0, 1, 0), BRW_CONDITIONAL_L);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(1, block0->end_ip);
@@ -929,7 +929,7 @@ TEST_F(scoreboard_test, gitlab_issue_11069)
bld1.ADD(stride(a, 2, 1, 2), stride(b, 0, 1, 0), brw_imm_ud(0x80));
bld1.CMP( brw_null_reg(), stride(a, 0, 1, 0), stride(b, 0, 1, 0), BRW_CONDITIONAL_L);
v->calculate_cfg();
brw_calculate_cfg(*v);
bblock_t *block0 = v->cfg->blocks[0];
ASSERT_EQ(0, block0->start_ip);
ASSERT_EQ(1, block0->end_ip);

View File

@@ -152,7 +152,7 @@ TEST_F(PredicatedBreakTest, TopBreakWithoutContinue)
a.ADD(r1, r2, r3);
a.WHILE();
a.NOP(); /* There's always going to be something after a WHILE. */
shader_a->calculate_cfg();
brw_calculate_cfg(*shader_a);
/* The IF/ENDIF around the BREAK is expected to be removed. */
bool progress = opt_predicated_break(shader_a);
@@ -164,7 +164,7 @@ TEST_F(PredicatedBreakTest, TopBreakWithoutContinue)
b.ADD(r1, r2, r3);
b.WHILE();
b.NOP();
shader_b->calculate_cfg();
brw_calculate_cfg(*shader_b);
ASSERT_SHADERS_MATCH(shader_a, shader_b);
}
@@ -191,7 +191,7 @@ TEST_F(PredicatedBreakTest, TopBreakWithContinue)
a.MUL(r1, r2, r3);
a.WHILE();
a.NOP(); /* There's always going to be something after a WHILE. */
shader_a->calculate_cfg();
brw_calculate_cfg(*shader_a);
/* The IF/ENDIF around the BREAK and the CONTINUE are expected to be
* removed.
@@ -208,7 +208,7 @@ TEST_F(PredicatedBreakTest, TopBreakWithContinue)
b.MUL(r1, r2, r3);
b.WHILE();
b.NOP();
shader_b->calculate_cfg();
brw_calculate_cfg(*shader_b);
ASSERT_SHADERS_MATCH(shader_a, shader_b);
}
@@ -230,7 +230,7 @@ TEST_F(PredicatedBreakTest, DISABLED_BottomBreakWithoutContinue)
a.ENDIF();
a.WHILE();
a.NOP(); /* There's always going to be something after a WHILE. */
shader_a->calculate_cfg();
brw_calculate_cfg(*shader_a);
/* BREAK is the only way to exit the loop, so expect to remove the
* IF/BREAK/ENDIF and add a predicate to WHILE.
@@ -245,7 +245,7 @@ TEST_F(PredicatedBreakTest, DISABLED_BottomBreakWithoutContinue)
w->predicate = BRW_PREDICATE_NORMAL;
w->predicate_inverse = true;
b.NOP();
shader_b->calculate_cfg();
brw_calculate_cfg(*shader_b);
ASSERT_SHADERS_MATCH(shader_a, shader_b);
}
@@ -273,7 +273,7 @@ TEST_F(PredicatedBreakTest, BottomBreakWithContinue)
a.ENDIF();
a.WHILE();
a.NOP(); /* There's always going to be something after a WHILE. */
shader_a->calculate_cfg();
brw_calculate_cfg(*shader_a);
/* With a CONTINUE, the BREAK can't be removed, but still remove the
* IF/ENDIF around both of them.
@@ -290,7 +290,7 @@ TEST_F(PredicatedBreakTest, BottomBreakWithContinue)
b.BREAK()->predicate = BRW_PREDICATE_NORMAL;
b.WHILE();
b.NOP();
shader_b->calculate_cfg();
brw_calculate_cfg(*shader_b);
ASSERT_SHADERS_MATCH(shader_a, shader_b);
}
@@ -318,7 +318,7 @@ TEST_F(PredicatedBreakTest, TwoBreaks)
a.AND(r1, r2, r3);
a.WHILE();
a.NOP(); /* There's always going to be something after a WHILE. */
shader_a->calculate_cfg();
brw_calculate_cfg(*shader_a);
/* The IF/ENDIF around the breaks are expected to be removed. */
bool progress = opt_predicated_break(shader_a);
@@ -334,7 +334,7 @@ TEST_F(PredicatedBreakTest, TwoBreaks)
b.AND(r1, r2, r3);
b.WHILE();
b.NOP(); /* There's always going to be something after a WHILE. */
shader_b->calculate_cfg();
brw_calculate_cfg(*shader_b);
ASSERT_SHADERS_MATCH(shader_a, shader_b);
}