[all-commits] [llvm/llvm-project] 31ec0a: [SimplifyCFG] Improve the way hoisting skips over ...

Jay Foad via All-commits all-commits at lists.llvm.org
Fri Apr 28 02:03:51 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 31ec0a6845299dc3486c1339d40342d858a42e3f
      https://github.com/llvm/llvm-project/commit/31ec0a6845299dc3486c1339d40342d858a42e3f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/convergent.ll

  Log Message:
  -----------
  [SimplifyCFG] Improve the way hoisting skips over non-matching instructions

D129370 introduced the idea that hoisting could skip over non-matching
instructions and continue to look for matching (hoistable) instructions,
but certain types of mismatch still aborted the whole hoisting attempt.

Fix this by splitting out some of the instruction matching checks into a
helper function.

Also forbid hoisting allocas past stacksave/stackrestore, completing the
fix started in D133730, to avoid regressing tests.

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




More information about the All-commits mailing list