@@ -1224,7 +1224,7 @@ class BlockRealize : public Stmt {
12241224 TVM_DEFINE_OBJECT_REF_COW_METHOD (BlockRealizeNode);
12251225};
12261226
1227- /* ! \brief namespace of possible attribute sin AttrStmt.attr_key */
1227+ /* ! \brief namespace of possible attributes in AttrStmt.attr_key */
12281228namespace attr {
12291229// The above attr does not pass to ir stage.
12301230/* ! \brief Mark launching extent of thread, used by device API. */
@@ -1361,12 +1361,6 @@ constexpr const char* script_parsing_detect_access = "tir.script_parsing_detect_
13611361 */
13621362constexpr const char * pragma_loop_partition_hint = " pragma_loop_partition_hint" ;
13631363
1364- /* ! \brief Mark the stage of a statement in the software pipeline */
1365- constexpr const char * software_pipeline_stage = " software_pipeline_stage" ;
1366-
1367- /* ! \brief Mark the order of a statement in the software pipeline */
1368- constexpr const char * software_pipeline_order = " software_pipeline_order" ;
1369-
13701364/* ! \brief Mark the tiling structure of blocks that are applied by rule Multi-Level-Tiling */
13711365constexpr const char * meta_schedule_tiling_structure = " meta_schedule.tiling_structure" ;
13721366
@@ -1400,6 +1394,54 @@ constexpr const char* meta_schedule_unroll_explicit = "meta_schedule.unroll_expl
14001394/* ! \brief Mark auto-unroll setting on the block. */
14011395constexpr const char * meta_schedule_unroll_implicit = " meta_schedule.unroll_implicit" ;
14021396
1397+ /* !
1398+ * \brief Mark that the block need to add predicate for block var bounds during lowering
1399+ */
1400+ constexpr const char * require_block_var_bound_predicate = " require_bound_predicate" ;
1401+
1402+ /* !
1403+ * \brief Mark that the block should be further rewritten using tensorization.
1404+ */
1405+ constexpr const char * meta_schedule_auto_tensorize = " meta_schedule.auto_tensorize" ;
1406+
1407+ /* ! \brief Mark that tensor core is enabled in the PrimExpr */
1408+ constexpr const char * meta_schedule_tensor_core_enabled = " meta_schedule.tensor_core_enabled" ;
1409+
1410+ /* !
1411+ * \brief Mark a block as generated by cache_read or cache_write block.
1412+ * 0 means cache_read; 1 means cache_write.
1413+ * \sa meta_schedule_cache_type_read
1414+ * \sa meta_schedule_cache_type_write
1415+ */
1416+ constexpr const char * meta_schedule_cache_type = " meta_schedule.cache_type" ;
1417+
1418+ /* ! \sa meta_schedule_cache_type */
1419+ constexpr const int meta_schedule_cache_type_read = 0 ;
1420+
1421+ /* ! \sa meta_schedule_cache_type */
1422+ constexpr const int meta_schedule_cache_type_write = 1 ;
1423+
1424+ /* ! \brief Mark the scope of the software pipeline */
1425+ constexpr const char * software_pipeline_scope = " software_pipeline_scope" ;
1426+
1427+ /* ! \brief Mark the stage of a statement in the software pipeline */
1428+ constexpr const char * software_pipeline_stage = " software_pipeline_stage" ;
1429+
1430+ /* ! \brief Mark the order of a statement in the software pipeline */
1431+ constexpr const char * software_pipeline_order = " software_pipeline_order" ;
1432+
1433+ /* ! \brief Mark the stage of the result of the software pipeline lowering. This is used to specify
1434+ * the behavior of nested software pipelines. Should be a 3-tuple consisting of the stage of the
1435+ * prologue, the body, and the epilogue of the software pipeline.
1436+ */
1437+ constexpr const char * nested_software_pipeline_stage = " nested_software_pipeline_stage" ;
1438+
1439+ /* ! \brief Mark the stage of the result of the software pipeline lowering. This is used to specify
1440+ * the behavior of nested software pipelines. Should be a 3-tuple consisting of the stage of the
1441+ * prologue, the body, and the epilogue of the software pipeline.
1442+ */
1443+ constexpr const char * nested_software_pipeline_order = " nested_software_pipeline_order" ;
1444+
14031445/* !
14041446 * \brief Check if attr_key is a pragma key extension
14051447 * \param attr_key The attr key to be compared
0 commit comments