[clang] [CIR] Add poison attribute (PR #150760)

Henrich Lauko via cfe-commits cfe-commits at lists.llvm.org
Sat Jul 26 11:21:42 PDT 2025


================
@@ -2307,6 +2319,12 @@ OpFoldResult ByteSwapOp::fold(FoldAdaptor adaptor) {
 }
 
 OpFoldResult RotateOp::fold(FoldAdaptor adaptor) {
+  if (mlir::isa_and_present<PoisonAttr>(adaptor.getInput()) ||
+      mlir::isa_and_present<PoisonAttr>(adaptor.getAmount())) {
+    // Propagate poison values
+    return PoisonAttr::get(getType());
+  }
----------------
xlauko wrote:

```suggestion
  if (mlir::isa_and_present<cir::PoisonAttr>(adaptor.getInput()) ||
      mlir::isa_and_present<cir::PoisonAttr>(adaptor.getAmount())) {
    // Propagate poison values
    return cir::PoisonAttr::get(getType());
  }
```

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


More information about the cfe-commits mailing list