[llvm] [SPIR-V] Strip convergence intrinsics before ISel (PR #75948)

Natalie Chouinard via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 4 13:04:53 PST 2024


Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>,
Nathan =?utf-8?q?Gauër?= <brioche at google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/75948 at github.com>


================
@@ -12,6 +12,8 @@
 // restore correct SPIR-V types of function arguments and return values.
 // This pass also substitutes some llvm intrinsic calls with calls to newly
 // generated functions (as the Khronos LLVM/SPIR-V Translator does).
+// This pass also trims convergence intrinsics as those were only useful when
+// modifying the CFG during IR passes.
 //
 // NOTE: this pass is a module-level one due to the necessity to modify
----------------
sudonatalie wrote:

Should we consider putting this new behavior in a `FunctionPass` rather than the existing `ModulePass` since it doesn't have any module-level behavior? From the documentation it looks like that's preferred when possible: https://llvm.org/docs/WritingAnLLVMPass.html

https://github.com/llvm/llvm-project/pull/75948


More information about the llvm-commits mailing list