[all-commits] [llvm/llvm-project] 4c89bc: [LICM] Hoist loads with invariant.group metadata

aeubanks via All-commits all-commits at lists.llvm.org
Thu Apr 8 21:57:59 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4c89bcadf6cae8320a1925eb9cbeb8c8c1f5f58b
      https://github.com/llvm/llvm-project/commit/4c89bcadf6cae8320a1925eb9cbeb8c8c1f5f58b
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-04-08 (Thu, 08 Apr 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    A llvm/test/Transforms/LICM/invariant.group.ll

  Log Message:
  -----------
  [LICM] Hoist loads with invariant.group metadata

Previously loading the vtable used in calling a virtual method in a loop
was not hoisted out of the loop. This fixes that.

canSinkOrHoistInst() itself doesn't check that the load operands are
loop invariant, callers also check that separately.

Reviewed By: rnk

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




More information about the All-commits mailing list