[all-commits] [llvm/llvm-project] 03828e: [PowerPC] Implement probing for dynamic stack allo...

bzEq via All-commits all-commits at lists.llvm.org
Thu Jul 2 23:46:11 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 03828e38c3cf6f1b8f548b724bcf46e0cffeeac8
      https://github.com/llvm/llvm-project/commit/03828e38c3cf6f1b8f548b724bcf46e0cffeeac8
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2020-07-03 (Fri, 03 Jul 2020)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCISelLowering.h
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
    A llvm/test/CodeGen/PowerPC/stack-clash-dynamic-alloca.ll

  Log Message:
  -----------
  [PowerPC] Implement probing for dynamic stack allocation

This patch is part of supporting `-fstack-clash-protection`. Mainly do
such things compared to existing `lowerDynamicAlloc`

- Added a new pseudo instruction PPC::PREPARE_PROBED_ALLOC to get
  actual frame pointer and final stack pointer.
- Synthesize a loop to probe by blocks.
- Use DYNAREAOFFSET to get MaxCallFrameSize which is calculated in
  prologepilog.

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




More information about the All-commits mailing list