[all-commits] [llvm/llvm-project] 0ba888: [FastISel] Propagate PCSections metadata to Machin...

Marco Elver via All-commits all-commits at lists.llvm.org
Wed Sep 7 02:38:21 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0ba8886af56198083b8cfd580e6de60444a2038d
      https://github.com/llvm/llvm-project/commit/0ba8886af56198083b8cfd580e6de60444a2038d
  Author: Marco Elver <elver at google.com>
  Date:   2022-09-07 (Wed, 07 Sep 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/FastISel.h
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/Target/AArch64/AArch64FastISel.cpp
    M llvm/lib/Target/ARM/ARMFastISel.cpp
    M llvm/lib/Target/Mips/MipsFastISel.cpp
    M llvm/lib/Target/PowerPC/PPCFastISel.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
    M llvm/lib/Target/X86/X86FastISel.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp

  Log Message:
  -----------
  [FastISel] Propagate PCSections metadata to MachineInstr

Propagate PC sections metadata to MachineInstr when FastISel is doing
instruction selection.

Reviewed By: vitalybuka

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


  Commit: f0d6709e4a587449eae3e6277e64e6550840b468
      https://github.com/llvm/llvm-project/commit/f0d6709e4a587449eae3e6277e64e6550840b468
  Author: Marco Elver <elver at google.com>
  Date:   2022-09-07 (Wed, 07 Sep 2022)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    A llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll

  Log Message:
  -----------
  [AtomicExpandPass] Always copy pcsections Metadata to expanded atomics

When expanding IR atomics to target-specific atomics, copy all
!pcsections Metadata to expanded atomics automatically.

Reviewed By: vitalybuka

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


  Commit: 31a548021b4af4d6cffb2c0018e9f808abee2bde
      https://github.com/llvm/llvm-project/commit/31a548021b4af4d6cffb2c0018e9f808abee2bde
  Author: Marco Elver <elver at google.com>
  Date:   2022-09-07 (Wed, 07 Sep 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp

  Log Message:
  -----------
  [GlobalISel] Propagate PCSections metadata to MachineInstr

Propagate (most) PC sections metadata to MachineInstr when GlobalISel is
doing instruction selection.

This change results in support for architectures using GlobalISel (such
as -O0 with AArch64). Not all instructions may be supported yet, and
requires further target-specific handling (such as done for AArch64
pseudo-atomics). Expanding supported instructions is planned on a
case-by-case basis and new use cases for PC sections metadata.

Reviewed By: vitalybuka

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


  Commit: 343700358feb45ccc15182462ddf63a368623040
      https://github.com/llvm/llvm-project/commit/343700358feb45ccc15182462ddf63a368623040
  Author: Marco Elver <elver at google.com>
  Date:   2022-09-07 (Wed, 07 Sep 2022)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/MC/MCObjectFileInfo.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    A llvm/test/CodeGen/AArch64/pcsections.ll
    A llvm/test/CodeGen/X86/pcsections.ll

  Log Message:
  -----------
  [AsmPrinter] Emit PCs into requested PCSections

Interpret MD_pcsections in AsmPrinter emitting the requested metadata to
the associated sections. Functions and normal instructions are handled.

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


Compare: https://github.com/llvm/llvm-project/compare/98a3a340c361...343700358feb


More information about the All-commits mailing list