[all-commits] [llvm/llvm-project] 3dd8c9: [LICM] Remove AST-based implementation

Nikita Popov via All-commits all-commits at lists.llvm.org
Wed Aug 18 11:22:10 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3dd8c9176be9515dc722b43d9ffb048b32ff5015
      https://github.com/llvm/llvm-project/commit/3dd8c9176be9515dc722b43d9ffb048b32ff5015
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-08-18 (Wed, 18 Aug 2021)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Analysis/BasicAA/store-promote.ll
    M llvm/test/Analysis/GlobalsModRef/dead-uses.ll
    M llvm/test/Analysis/MemorySSA/pr42294.ll
    M llvm/test/Other/optimization-remarks-invalidation.ll
    M llvm/test/Other/time-passes.ll
    M llvm/test/Transforms/ADCE/broken-loop-info.ll
    M llvm/test/Transforms/LICM/assume.ll
    M llvm/test/Transforms/LICM/atomics.ll
    M llvm/test/Transforms/LICM/basictest.ll
    M llvm/test/Transforms/LICM/call-hoisting.ll
    M llvm/test/Transforms/LICM/constexpr.ll
    M llvm/test/Transforms/LICM/crash.ll
    M llvm/test/Transforms/LICM/debug-value.ll
    M llvm/test/Transforms/LICM/explicit_guards.ll
    M llvm/test/Transforms/LICM/extra-copies.ll
    M llvm/test/Transforms/LICM/fence.ll
    M llvm/test/Transforms/LICM/funclet.ll
    M llvm/test/Transforms/LICM/guards.ll
    M llvm/test/Transforms/LICM/hoist-bitcast-load.ll
    M llvm/test/Transforms/LICM/hoist-deref-load.ll
    M llvm/test/Transforms/LICM/hoist-mustexec.ll
    M llvm/test/Transforms/LICM/hoist-nounwind.ll
    M llvm/test/Transforms/LICM/hoist-phi.ll
    M llvm/test/Transforms/LICM/hoist-round.ll
    M llvm/test/Transforms/LICM/hoisting.ll
    M llvm/test/Transforms/LICM/infinite_loops.ll
    M llvm/test/Transforms/LICM/lcssa-ssa-promoter.ll
    M llvm/test/Transforms/LICM/lnicm-sink.ll
    M llvm/test/Transforms/LICM/lnicm.ll
    M llvm/test/Transforms/LICM/no-preheader-test.ll
    M llvm/test/Transforms/LICM/opt-remarks-conditional-load.ll
    M llvm/test/Transforms/LICM/opt-remarks-intervening-store.ll
    M llvm/test/Transforms/LICM/opt-remarks.ll
    M llvm/test/Transforms/LICM/pr37323.ll
    M llvm/test/Transforms/LICM/pr38513.ll
    M llvm/test/Transforms/LICM/preheader-safe.ll
    M llvm/test/Transforms/LICM/promote-order.ll
    M llvm/test/Transforms/LICM/promote-tls.ll
    M llvm/test/Transforms/LICM/scalar-promote-memmodel.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll
    M llvm/test/Transforms/LICM/scalar-promote.ll
    M llvm/test/Transforms/LICM/sink.ll
    M llvm/test/Transforms/LICM/speculate.ll
    M llvm/test/Transforms/LICM/store-hoisting.ll
    M llvm/test/Transforms/LICM/unrolled-deeply-nested.ll
    M llvm/test/Transforms/LICM/update-scev.ll
    M llvm/test/Transforms/LICM/volatile-alias.ll
    M llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM1.ll
    M llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll
    M llvm/test/Transforms/LoopVersioningLICM/metadata.ll
    M llvm/unittests/Transforms/Scalar/LICMTest.cpp

  Log Message:
  -----------
  [LICM] Remove AST-based implementation

MSSA-based LICM has been enabled by default for a few years now.
This drops the old AST-based implementation. Using loop(licm) will
result in a fatal error, the use of loop-mssa(licm) is required
(or just licm, which defaults to loop-mssa).

Note that the core canSinkOrHoistInst() logic has to retain AST
support for now, because it is shared with LoopSink.

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




More information about the All-commits mailing list