[PATCH] D92270: [ConstantFold] Fold more operations to poison

Sanjay Patel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Oct 28 09:28:07 PDT 2021


spatel added inline comments.


================
Comment at: llvm/lib/IR/ConstantFold.cpp:633
         // the input constant.
-        return UndefValue::get(DestTy);
+        return PoisonValue::get(DestTy);
       }
----------------
MatzeB wrote:
> I believe this is causing some of our clients trouble, especially since we somehow have a `-fno-strict-float-cast-overflow` flag in clang that says float->int overflows are not UB... (CC @spatel )
I can guess at what the example looks like, but it would be great to have a reduced test.
There should be a function attribute in IR corresponding to that clang flag, so we could alter the behavior here based on checking that? Not sure if there's precedence for that kind of transform though.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92270/new/

https://reviews.llvm.org/D92270



More information about the cfe-commits mailing list