[all-commits] [llvm/llvm-project] a37dff: [PowerPC][Dwarf] Assign MMA register's dwarf regis...

bzEq via All-commits all-commits at lists.llvm.org
Mon Jun 14 22:59:26 PDT 2021


  Branch: refs/heads/release/12.x
  Home:   https://github.com/llvm/llvm-project
  Commit: a37dff2bbf68b1a98ce6c48c6e4e5b32f7df0d9c
      https://github.com/llvm/llvm-project/commit/a37dff2bbf68b1a98ce6c48c6e4e5b32f7df0d9c
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2021-06-15 (Tue, 15 Jun 2021)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.td

  Log Message:
  -----------
  [PowerPC][Dwarf] Assign MMA register's dwarf register number to negative value

According to ELF V2 ABI, `0` should be the dwarf number of `r0`. Currently MMA's register also uses `0` as its dwarf number, this confuses `RegisterInfoEmitter` and generates wrong dwarf -> llvm mapping.
```
extern const MCRegisterInfo::DwarfLLVMRegPair PPCDwarfFlavour1Dwarf2L[] = {
  { 0U, PPC::VSRp31 },
```
This leads to wrong cfi output in https://reviews.llvm.org/D100290.

Reviewed By: jsji

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

(cherry picked from commit c87c294397ea4c3dae31f5a7fd6e38602338fd57)


  Commit: 04a68288ded459c7e76135a9ee4b7e9d4bf4cdc2
      https://github.com/llvm/llvm-project/commit/04a68288ded459c7e76135a9ee4b7e9d4bf4cdc2
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2021-06-15 (Tue, 15 Jun 2021)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
    M llvm/test/CodeGen/PowerPC/pr46759.ll
    M llvm/test/CodeGen/PowerPC/stack-clash-prologue-nounwind.ll
    M llvm/test/CodeGen/PowerPC/stack-clash-prologue.ll

  Log Message:
  -----------
  [PowerPC] Make sure the first probe is full size or is the last probe when stack is realigned

When `-fstack-clash-protection` is enabled and stack has to be realigned, some parts of redzone is written prior the probe, so probe might overwrite content already written in redzone. To avoid it, we have to make sure the first probe is at full probe size or is the last probe so that we can skip redzone.

It also fixes violation of ABI under PPC where `r1` isn't updated atomically.

This fixes https://bugs.llvm.org/show_bug.cgi?id=49903.

Reviewed By: jsji

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

(cherry picked from commit bf58600badb1138a501ad81b07298207a7a64b2a)


Compare: https://github.com/llvm/llvm-project/compare/a95bf588bd72...04a68288ded4


More information about the All-commits mailing list