[all-commits] [llvm/llvm-project] fe7491: [InstCombine][NFC] Refactor llvm.stackrestore hand...

nextsilicon-itay-bookstein via All-commits all-commits at lists.llvm.org
Wed Nov 10 00:42:13 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fe7491d32fe777445f12bfc62f5e74dbce1c9477
      https://github.com/llvm/llvm-project/commit/fe7491d32fe777445f12bfc62f5e74dbce1c9477
  Author: Itay Bookstein <itay.bookstein at nextsilicon.com>
  Date:   2021-11-10 (Wed, 10 Nov 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [InstCombine][NFC] Refactor llvm.stackrestore handling

Hoist the instruction classification logic outside the loop
in preparation for reuse in a future commit.

Signed-off-by: Itay Bookstein <itay.bookstein at nextsilicon.com>

Reviewed By: lebedev.ri

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


  Commit: f9059efa0d5434744b7b193545b70047ea2bbbe6
      https://github.com/llvm/llvm-project/commit/f9059efa0d5434744b7b193545b70047ea2bbbe6
  Author: Itay Bookstein <itay.bookstein at nextsilicon.com>
  Date:   2021-11-10 (Wed, 10 Nov 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/stacksaverestore.ll

  Log Message:
  -----------
  [InstCombine] Extend stacksave/restore elimination

Previously, InstCombine detected a pair of llvm.stacksave/stackrestore
instructions that are adjacent modulo debug instructions in order to
eliminate the llvm.stackrestore. This precludes situations where
intervening instructions (e.g. loads) preclude the llvm.stacksave and
llvm.stackrestore from becoming adjacent. This commit extends the logic
and allows for eliminating the llvm.stackrestore when the range of
instructions between them does not include any alloca or side-effect
causing instructions.

Signed-off-by: Itay Bookstein <itay.bookstein at nextsilicon.com>

Reviewed By: lebedev.ri

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


Compare: https://github.com/llvm/llvm-project/compare/82ce9127436b...f9059efa0d54


More information about the All-commits mailing list