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

Ilia Diachkov via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 3 01:59:52 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>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/75948 at github.com>


================
@@ -380,8 +432,11 @@ SPIRVPrepareFunctions::removeAggregateTypesFromSignature(Function *F) {
 
 bool SPIRVPrepareFunctions::runOnModule(Module &M) {
   bool Changed = false;
-  for (Function &F : M)
+  for (Function &F : M) {
     Changed |= substituteIntrinsicCalls(&F);
+    Changed |= stripConvergenceOperands(&F);
+    Changed |= stripConvergenceIntrinsics(&F);
----------------
iliya-diyachkov wrote:

Shouldn't we combine these two functions into one? They both have the same structure, do similar things, and called only once and together.

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


More information about the llvm-commits mailing list