[all-commits] [llvm/llvm-project] 8148d0: [InstCombine] Handle "add like" in ADD+GEP->GEP+GE...

Björn Pettersson via All-commits all-commits at lists.llvm.org
Mon Apr 14 02:39:59 PDT 2025


  Branch: refs/heads/users/bjope/addlikegep_3
  Home:   https://github.com/llvm/llvm-project
  Commit: 8148d0cdc613318b4831843f8f9c1e495b47da16
      https://github.com/llvm/llvm-project/commit/8148d0cdc613318b4831843f8f9c1e495b47da16
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2025-04-14 (Mon, 14 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
    M llvm/test/Transforms/InstCombine/gep-vector.ll
    M llvm/test/Transforms/InstCombine/vscale_gep.ll
    M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
    M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
    M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
    M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
    M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
    M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/float-induction.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/reduction.ll

  Log Message:
  -----------
  [InstCombine] Handle "add like" in ADD+GEP->GEP+GEP rewrites

Considering that "or disjoint" is the canonical for certain
add operations, then I think we want to support such "add like"
operations when doing ADD+GEP->GEP+GEP rewrites to make things
more consistent.

Problem was found when improving ValueTracking, which turned an
ADD into OR, and then suddenly optimizations got worse due to
these rewrites no longer triggering.



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