[PATCH] D131962: [RegisterInfoEmitter] Generate isConstantPhysReg(). NFCI

Alexander Richardson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 16 07:04:18 PDT 2022


arichardson added a comment.

The generated functions look as follows and mostly match the existing ones (a few extra subregs for AMDGPU and added PPC registers).

  cmake-build-debug/lib/Target/AArch64/AArch64GenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/AArch64/AArch64GenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/AArch64/AArch64GenRegisterInfo.inc-      PhysReg == AArch64::WZR ||
  cmake-build-debug/lib/Target/AArch64/AArch64GenRegisterInfo.inc-      PhysReg == AArch64::XZR ||
  cmake-build-debug/lib/Target/AArch64/AArch64GenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/AArch64/AArch64GenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL_HI ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_POPS_EXITING_WAVE_ID ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_PRIVATE_BASE ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_PRIVATE_LIMIT ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_SHARED_BASE ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_SHARED_LIMIT ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL64 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL_HI_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL_HI_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SGPR_NULL_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_POPS_EXITING_WAVE_ID_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_POPS_EXITING_WAVE_ID_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_PRIVATE_BASE_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_PRIVATE_BASE_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_PRIVATE_LIMIT_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_PRIVATE_LIMIT_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_SHARED_BASE_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_SHARED_BASE_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_SHARED_LIMIT_HI16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      PhysReg == AMDGPU::SRC_SHARED_LIMIT_LO16 ||
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/AMDGPU/AMDGPUGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/AMDGPU/R600GenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/AMDGPU/R600GenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/AMDGPU/R600GenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/AMDGPU/R600GenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/ARM/ARMGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/ARM/ARMGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/ARM/ARMGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/ARM/ARMGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/AVR/AVRGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/AVR/AVRGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/AVR/AVRGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/AVR/AVRGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/BPF/BPFGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/BPF/BPFGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/BPF/BPFGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/BPF/BPFGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/Hexagon/HexagonGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/Hexagon/HexagonGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/Hexagon/HexagonGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/Hexagon/HexagonGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/Lanai/LanaiGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/Lanai/LanaiGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/Lanai/LanaiGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/Lanai/LanaiGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/Mips/MipsGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/Mips/MipsGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/Mips/MipsGenRegisterInfo.inc-      PhysReg == Mips::ZERO ||
  cmake-build-debug/lib/Target/Mips/MipsGenRegisterInfo.inc-      PhysReg == Mips::ZERO_64 ||
  cmake-build-debug/lib/Target/Mips/MipsGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/Mips/MipsGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/MSP430/MSP430GenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/MSP430/MSP430GenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/MSP430/MSP430GenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/MSP430/MSP430GenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/NVPTX/NVPTXGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/NVPTX/NVPTXGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/NVPTX/NVPTXGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/NVPTX/NVPTXGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/PowerPC/PPCGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/PowerPC/PPCGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/PowerPC/PPCGenRegisterInfo.inc-      PhysReg == PPC::ZERO ||
  cmake-build-debug/lib/Target/PowerPC/PPCGenRegisterInfo.inc-      PhysReg == PPC::ZERO8 ||
  cmake-build-debug/lib/Target/PowerPC/PPCGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/PowerPC/PPCGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/RISCV/RISCVGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/RISCV/RISCVGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/RISCV/RISCVGenRegisterInfo.inc-      PhysReg == RISCV::VLENB ||
  cmake-build-debug/lib/Target/RISCV/RISCVGenRegisterInfo.inc-      PhysReg == RISCV::X0 ||
  cmake-build-debug/lib/Target/RISCV/RISCVGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/RISCV/RISCVGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/Sparc/SparcGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/Sparc/SparcGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/Sparc/SparcGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/Sparc/SparcGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/SystemZ/SystemZGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/SystemZ/SystemZGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/SystemZ/SystemZGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/SystemZ/SystemZGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/VE/VEGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/VE/VEGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/VE/VEGenRegisterInfo.inc-      PhysReg == VE::VM0 ||
  cmake-build-debug/lib/Target/VE/VEGenRegisterInfo.inc-      PhysReg == VE::VMP0 ||
  cmake-build-debug/lib/Target/VE/VEGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/VE/VEGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/WebAssembly/WebAssemblyGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/WebAssembly/WebAssemblyGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/WebAssembly/WebAssemblyGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/WebAssembly/WebAssemblyGenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/X86/X86GenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/X86/X86GenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/X86/X86GenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/X86/X86GenRegisterInfo.inc-}
  --
  cmake-build-debug/lib/Target/XCore/XCoreGenRegisterInfo.inc:isConstantPhysReg(MCRegister PhysReg) const {
  cmake-build-debug/lib/Target/XCore/XCoreGenRegisterInfo.inc-  return
  cmake-build-debug/lib/Target/XCore/XCoreGenRegisterInfo.inc-      false;
  cmake-build-debug/lib/Target/XCore/XCoreGenRegisterInfo.inc-}


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131962/new/

https://reviews.llvm.org/D131962



More information about the llvm-commits mailing list