diff --git a/include/triton/codegen/transform/peephole.h b/include/triton/codegen/transform/peephole.h index ce0d1f34a..2ea27937c 100644 --- a/include/triton/codegen/transform/peephole.h +++ b/include/triton/codegen/transform/peephole.h @@ -19,7 +19,7 @@ namespace transform{ class peephole { private: - bool rewrite_cts_cfs(ir::instruction *value, ir::builder &builder); +// bool rewrite_cts_cfs(ir::instruction *value, ir::builder &builder); bool rewrite_trans_phi(ir::instruction* value, ir::builder &builder); bool rewrite_dot_fp32(ir::dot_inst *dot, ir::builder& builder, bool trans_a, bool trans_b, ir::value *A, ir::value *B, ir::value *D); bool rewrite_dot_hmma(ir::dot_inst *dot, ir::builder& builder, bool trans_a, bool trans_b, ir::value *A, ir::value *B, ir::value *D); diff --git a/lib/codegen/transform/coalesce.cc b/lib/codegen/transform/coalesce.cc index 14a295b00..0f9675b5b 100644 --- a/lib/codegen/transform/coalesce.cc +++ b/lib/codegen/transform/coalesce.cc @@ -109,8 +109,9 @@ void coalesce::run(ir::module &mod) { // extract leading axes std::map> axes; for(ir::io_inst *i: io){ - if(i->get_pointer_operand()->get_type()->get_tile_ranks1() == layout_->get(id)->get_rank()) + if(i->get_pointer_operand()->get_type()->get_tile_rank() == layout_->get(id)->get_rank()){ extract_ld(i, axes); + } } // update list of values to rematerialize if(axes.empty()) diff --git a/lib/codegen/transform/peephole.cc b/lib/codegen/transform/peephole.cc index 69498b127..c6ff03fbe 100644 --- a/lib/codegen/transform/peephole.cc +++ b/lib/codegen/transform/peephole.cc @@ -83,18 +83,18 @@ bool peephole::rewrite_dot(ir::instruction *value, ir::builder& builder){ } } -bool peephole::rewrite_cts_cfs(ir::instruction *value, ir::builder &builder){ - auto cfs = dynamic_cast(value); - if(cfs) { - ir::value *arg = cfs->get_operand(0); - ir::copy_to_shared_inst* cts = dynamic_cast(arg); - if(!cts) - return false; - cfs->replace_all_uses_with(cts->get_operand(0)); - return true; - } +//bool peephole::rewrite_cts_cfs(ir::instruction *value, ir::builder &builder){ +// auto cfs = dynamic_cast(value); +// if(cfs) { +// ir::value *arg = cfs->get_operand(0); +// ir::copy_to_shared_inst* cts = dynamic_cast(arg); +// if(!cts) +// return false; +// cfs->replace_all_uses_with(cts->get_operand(0)); +// return true; +// } -} +//} bool peephole::rewrite_unit_red(ir::instruction *value, ir::builder& builder){ auto x = dynamic_cast(value); @@ -196,7 +196,7 @@ void peephole::run(ir::module &mod) { continue; bool was_modified = false; was_modified = was_modified || rewrite_mult(i, builder); - was_modified = was_modified || rewrite_cts_cfs(i, builder); +// was_modified = was_modified || rewrite_cts_cfs(i, builder); was_modified = was_modified || rewrite_trans_phi(i, builder); was_modified = was_modified || rewrite_unit_red(i, builder); was_modified = was_modified || rewrite_gep_ptr_min_off_plus_off(i, builder); diff --git a/lib/runtime/function.cc b/lib/runtime/function.cc index cf9d6fe0c..657004a32 100644 --- a/lib/runtime/function.cc +++ b/lib/runtime/function.cc @@ -218,7 +218,6 @@ std::unique_ptr function::make_bin(ir::module &module, codegen::transform::cts cts; codegen::generator isel(&axes, &layouts, &align, &allocation, target.get(), opt.num_warps); // run passes -// ir::print(module, std::cout); dce.run(module); disassociate.run(module); dce.run(module);