[PATCH] D98906: [X86] Improve lowering of unrolled inline-asm probing

Simonas Kazlauskas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 18 18:37:14 PDT 2021


nagisa created this revision.
Herald added subscribers: pengfei, hiraditya.
nagisa updated this revision to Diff 331724.
nagisa added a comment.
nagisa updated this revision to Diff 331731.
nagisa edited the summary of this revision.
nagisa retitled this revision from "[x86] Improve lowering of unrolled inline-asm probing" to "[X86] Improve lowering of unrolled inline-asm probing".
nagisa edited the summary of this revision.
nagisa updated this revision to Diff 331741.
nagisa published this revision for review.
nagisa added reviewers: serge-sans-paille, efriedma, lkail.
nagisa added a subscriber: YangKeao.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

update tests to not scrub away stack pointers


nagisa added a comment.

rebase on top of tests in D98909 <https://reviews.llvm.org/D98909>


nagisa added a comment.

restore the code that handled overaligned allocs


This new implementation emits instructions such as these:

  movb $0, -4096(%rsp)

which is both faster and smaller than pairs of

  sub $4096, %rsp
  movq $0, (%rsp)

This implementation also trivially preserves the preciseness of the
uwtables during the preamble by not modifying the stack pointer in the
first place.

Depends on D98909 <https://reviews.llvm.org/D98909>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D98906

Files:
  llvm/lib/Target/X86/X86FrameLowering.cpp
  llvm/test/CodeGen/X86/stack-clash-medium-natural-probes-mutliple-objects.ll
  llvm/test/CodeGen/X86/stack-clash-medium-natural-probes.ll
  llvm/test/CodeGen/X86/stack-clash-medium.ll
  llvm/test/CodeGen/X86/stack-clash-small-alloc-medium-align.ll
  llvm/test/CodeGen/X86/stack-clash-unknown-call.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D98906.331741.patch
Type: text/x-patch
Size: 8113 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210319/8c06af50/attachment.bin>


More information about the llvm-commits mailing list