[all-commits] [llvm/llvm-project] af49be: [IndVars] Simplify instructions after replacing he...

Nikita Popov via All-commits all-commits at lists.llvm.org
Wed Jul 13 01:28:02 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: af49bed93376da6950af116371ecdaab0bf4bb7b
      https://github.com/llvm/llvm-project/commit/af49bed93376da6950af116371ecdaab0bf4bb7b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-07-13 (Wed, 13 Jul 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/test/Transforms/IndVarSimplify/X86/pr35406.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-backedge.ll
    M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
    M llvm/test/Transforms/IndVarSimplify/floating-point-iv.ll
    M llvm/test/Transforms/IndVarSimplify/lcssa-preservation.ll
    M llvm/test/Transforms/IndVarSimplify/no-iv-rewrite.ll
    M llvm/test/Transforms/IndVarSimplify/pr22222.ll
    M llvm/test/Transforms/IndVarSimplify/pr40454.ll
    M llvm/test/Transforms/IndVarSimplify/scev-expander-preserve-lcssa.ll
    M llvm/test/Transforms/IndVarSimplify/sentinel.ll
    M llvm/test/Transforms/LoopDeletion/pr53969.ll
    M llvm/test/Transforms/PhaseOrdering/single-iteration-loop-sroa.ll

  Log Message:
  -----------
  [IndVars] Simplify instructions after replacing header phi with preheader value

After replacing a loop phi with the preheader value, it's usually
possible to simplify some of the using instructions, so do that as
part of replaceLoopPHINodesWithPreheaderValues().

Doing this as part of IndVars is valuable, because it may make GEPs
in the loop have constant offsets and allow the following SROA run
to succeed (as demonstrated in the PhaseOrdering test).

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




More information about the All-commits mailing list