[all-commits] [llvm/llvm-project] 4ab77d: [LICM] Allow promotion with non-load/store users

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Sep 9 04:10:24 PDT 2022


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

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

  Log Message:
  -----------
  [LICM] Allow promotion with non-load/store users

If there are non-load/store users of the promoted pointer, we
currently abort promotion. However, having such users isn't really
relevant to the transform. We already separately check that a)
there are no instructions that modref the promoted pointer and
b) that a pointer capture disables store promotion.

In the affected @test_captured_in_loop test case we have a readnone
capture of the promoted pointer, which means that load promotion
can be performed (while store promotion cannot).

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




More information about the All-commits mailing list