[llvm] [NFC][NVPTX] Introduce AS aware address matching in TableGen (PR #210309)
Rajat Bajpai via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 17 10:52:28 PDT 2026
================
@@ -953,26 +931,17 @@ defm TMA_TENSOR_PF_TILE_GATHER4_2D : TMA_TENSOR_PREFETCH_INTR<5, "tile_gather4",
//Prefetchu and Prefetch
-defvar frag_pat = (int_nvvm_prefetch_tensormap node:$addr);
-
-multiclass PREFETCH_TENSORMAP_PATFRAG<string suffix, code predicate> {
- def !tolower(suffix) : PatFrag<!setdagop(frag_pat, ops), frag_pat, predicate>;
-}
-
-defm prefetch_tensormap_ : PREFETCH_TENSORMAP_PATFRAG<"CONST", AS_match.const>;
-defm prefetch_tensormap_ : PREFETCH_TENSORMAP_PATFRAG<"GENERIC", AS_match.generic>;
-defm prefetch_tensormap_ : PREFETCH_TENSORMAP_PATFRAG<"PARAM", AS_match.param>;
-
-multiclass PREFETCH_TENSORMAP_INST<string addrspace_name, PatFrag pattern_frag> {
+multiclass PREFETCH_TENSORMAP_INST<string addrspace_name,
+ ComplexPattern addr_pattern> {
def "" : BasicNVPTXInst<(outs), (ins ADDR:$addr),
"prefetch" # addrspace_name # ".tensormap",
- [(pattern_frag addr:$addr)]>,
+ [(int_nvvm_prefetch_tensormap addr_pattern:$addr)]>,
Requires<[hasPTX<80>, hasSM<90>]>;
}
-defm PREFETCH_CONST_TENSORMAP : PREFETCH_TENSORMAP_INST<".const", prefetch_tensormap_const>;
-defm PREFETCH_GENERIC_TENSORMAP : PREFETCH_TENSORMAP_INST<"", prefetch_tensormap_generic>;
-defm PREFETCH_PARAM_TENSORMAP : PREFETCH_TENSORMAP_INST<".param", prefetch_tensormap_param>;
+defm PREFETCH_CONST_TENSORMAP : PREFETCH_TENSORMAP_INST<".const", addr_const>;
----------------
rajatbajpai wrote:
I believe we can do that in a follow-up change. These changes are intended to demonstrate how `addr_as` composes in the motivating scenario, so I would prefer to keep them minimal.
https://github.com/llvm/llvm-project/pull/210309
More information about the llvm-commits
mailing list