[clang] [llvm] [NVPTX] Consolidate and cleanup various NVPTXISD nodes (NFC) (PR #145581)
Alex MacLean via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 24 19:46:31 PDT 2025
================
@@ -2174,23 +2129,40 @@ let mayStore = true in {
[]>;
}
-let isCall=1 in {
- multiclass CALL<string OpcStr, SDNode OpNode> {
- def PrintCallNoRetInst : NVPTXInst<(outs), (ins),
- OpcStr # " ", [(OpNode 0)]>;
- def PrintCallRetInst1 : NVPTXInst<(outs), (ins),
- OpcStr # " (retval0), ", [(OpNode 1)]>;
+/// CALL(Chain, IsConvergent, IsIndirectCall/IsUniform, NumReturns,
+/// NumParams, Callee, Proto, InGlue)
+
+def CallOperand : Operand<i32> { let PrintMethod = "printCallOperand"; }
+
+foreach is_convergent = [0, 1] in {
+ defvar convergent_suffix = !if(is_convergent, "_conv", "");
+
+ let isCall = 1, isConvergent = is_convergent in {
+ def CALL # convergent_suffix :
+ NVPTXInst<(outs), (ins ADDR_base:$addr, CallOperand:$rets, CallOperand:$params, i32imm:$proto),
----------------
AlexMaclean wrote:
Done
https://github.com/llvm/llvm-project/pull/145581
More information about the cfe-commits
mailing list