[PATCH] D13361: Support for emitting inline stack probes

Andy Ayers via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 1 12:49:50 PDT 2015


AndyAyers created this revision.
AndyAyers added reviewers: rnk, majnemer.
AndyAyers added a subscriber: llvm-commits.
AndyAyers set the repository for this revision to rL LLVM.

For CoreCLR on Windows, stack probes must be emitted as inline sequences that probe successive stack pages between the current stack limit and the desired new stack pointer location. This implements support for the inline expansion on x64.

For in-body alloca probes, expansion is done during instruction lowering. For prolog probes, a stub call is initially emitted during prolog creation, and expanded after epilog generation, to avoid complications that arise when introducing new machine basic blocks during prolog and epilog creation.

Added a new test case, modified an existing one to exclude non-x64 coreclr (for now).

Repository:
  rL LLVM

http://reviews.llvm.org/D13361

Files:
  include/llvm/Target/TargetFrameLowering.h
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/Target/X86/X86FrameLowering.cpp
  lib/Target/X86/X86FrameLowering.h
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/stack-probe-size.ll
  test/CodeGen/X86/win_coreclr_chkstk.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13361.36282.patch
Type: text/x-patch
Size: 17586 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151001/d0d96265/attachment.bin>


More information about the llvm-commits mailing list