[all-commits] [llvm/llvm-project] 639d91: [LICM] Allow load-only scalar promotion in the pre...

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Sep 2 00:27:35 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 639d9122825d2f697d2dadc396c2f872f2a97921
      https://github.com/llvm/llvm-project/commit/639d9122825d2f697d2dadc396c2f872f2a97921
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-09-02 (Fri, 02 Sep 2022)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/guards.ll
    M llvm/test/Transforms/LICM/scalar-promote-unwind.ll

  Log Message:
  -----------
  [LICM] Allow load-only scalar promotion in the presence of unwinding

Currently, we bail out of scalar promotion if the loop may unwind
and the memory may be visible on unwind. This is because we can't
insert stores of the promoted value on unwind edges.

However, nowadays scalar promotion also has support for only
promoting loads, while leaving stores in place. This kind of
promotion is safe even in the presence of unwinding.

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




More information about the All-commits mailing list