[llvm] [CHERI] Refine LoopIdiomRecognize handling of non-integral pointers. (PR #189402)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 6 12:22:16 PDT 2026


================
@@ -471,11 +471,15 @@ LoopIdiomRecognize::isLegalStore(StoreInst *SI) {
   Value *StoredVal = SI->getValueOperand();
   Value *StorePtr = SI->getPointerOperand();
 
-  // Don't convert stores of non-integral pointer types to memsets (which stores
-  // integers).
-  if (DL->isNonIntegralPointerType(StoredVal->getType()->getScalarType()))
+  if (DL->hasUnstableRepresentation(StoredVal->getType()->getScalarType()))
----------------
nikic wrote:

```suggestion
  if (DL->hasUnstableRepresentation(StoredVal->getType()))
```
Already happens in the method.

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


More information about the llvm-commits mailing list