[llvm] [IR] Remove support for lshr/ashr constant expressions (PR #71955)

Nicolai Hähnle via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 13 11:48:21 PST 2023


================
@@ -3948,7 +3945,6 @@ bool LLParser::parseValID(ValID &ID, PerFunctionState *PFS, Type *ExpectedTy) {
     unsigned Flags = 0;
     if (NUW)   Flags |= OverflowingBinaryOperator::NoUnsignedWrap;
     if (NSW)   Flags |= OverflowingBinaryOperator::NoSignedWrap;
-    if (Exact) Flags |= PossiblyExactOperator::IsExact;
----------------
nhaehnle wrote:

Unrelated musing: I've been wondering for a long time if we couldn't turn `or` and `and` into possibly exact operators with the meaning of `exact` being "the set / unset bits of the operands are disjoint". The idea being that this might help sometimes with issues caused by LLVM eagerly replacing `add` with `or` in address expressions.

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


More information about the llvm-commits mailing list