[all-commits] [llvm/llvm-project] c22d39: [LVI][ConstantRange] Generalize mask not equal con...

Antonio Frighetto via All-commits all-commits at lists.llvm.org
Mon Jun 17 12:15:23 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c22d3917b93a6d54613d2e5b2ea4c97546144c46
      https://github.com/llvm/llvm-project/commit/c22d3917b93a6d54613d2e5b2ea4c97546144c46
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-06-17 (Mon, 17 Jun 2024)

  Changed paths:
    M llvm/include/llvm/IR/ConstantRange.h
    M llvm/lib/Analysis/LazyValueInfo.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/icmp.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [LVI][ConstantRange] Generalize mask not equal conditions handling

Extend `V & Mask != 0` for non-zero constants if satisfiable, when
retrieving constraint value information from a non-equality comparison.

Proof: https://alive2.llvm.org/ce/z/dc5BeT.

Motivating example: https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gcc.dg/tree-ssa/vrp76.c.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list