[llvm] [InstCombine][VectorCombine][NFC] Unify uses of lossless inverse cast (PR #156597)
Yingwei Zheng via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 3 09:52:25 PDT 2025
================
@@ -226,6 +226,26 @@ LLVM_ABI bool isMathLibCallNoop(const CallBase *Call,
LLVM_ABI Constant *ReadByteArrayFromGlobal(const GlobalVariable *GV,
uint64_t Offset);
-}
+
+struct PreservedCastFlags {
+ bool NNeg = false;
+ bool NUW = false;
+ bool NSW = false;
+};
+
+/// Try to cast C to InvC losslessly, satisfying CastOp(InvC) == C.
----------------
dtcxzyw wrote:
`CastOp(InvC) == C` is imprecise (e.g., `bitcast <2 x i16> <i16 0, i16 poison> to i32` is refined to 0).
https://github.com/llvm/llvm-project/pull/156597
More information about the llvm-commits
mailing list