[all-commits] [llvm/llvm-project] 1b7ef6: [BasicAA] Account for wrapping when using abs(VarI...

Florian Hahn via All-commits all-commits at lists.llvm.org
Fri Mar 18 07:41:29 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1b7ef6aac8a3cad245c0ed14fe21725e31261f73
      https://github.com/llvm/llvm-project/commit/1b7ef6aac8a3cad245c0ed14fe21725e31261f73
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2022-03-18 (Fri, 18 Mar 2022)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/gep-modulo.ll

  Log Message:
  -----------
  [BasicAA] Account for wrapping when using abs(VarIndex) >= abs(Scale).

The patch adds an extra check to only set MinAbsVarIndex if
abs(V * Scale) won't wrap. In the absence of IsNSW, try to use the
bitwidths of the original V and Scale to rule out wrapping.

Attempt to model https://alive2.llvm.org/ce/z/HE8ZKj

The code in the else if below probably needs the same treatment, but I
need to come up with a test first.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D121695




More information about the All-commits mailing list