[all-commits] [llvm/llvm-project] 7f28b4: [LICM] Bail if checking a global/constant for inva...

aeubanks via All-commits all-commits at lists.llvm.org
Mon Oct 4 14:14:41 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7f28b4d5b7a5f3581dbdba0ee8936b519034ae65
      https://github.com/llvm/llvm-project/commit/7f28b4d5b7a5f3581dbdba0ee8936b519034ae65
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2021-10-04 (Mon, 04 Oct 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    M llvm/test/Transforms/LICM/hoisting.ll

  Log Message:
  -----------
  [LICM] Bail if checking a global/constant for invariant.start

When we check if a load is loop invariant by finding a dominating
invariant.start call, we strip bitcasts until we get to an i8* Value,
and look for an invariant.start use of the i8* Value.

We may accidentally end up at an i8 global and look at a global's uses,
which we shouldn't do in a loop pass. Although we could make this
logic work with globals, that's not currently intended.

Reviewed By: nikic

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




More information about the All-commits mailing list