LLVM 22.0.0git
AMDGPURegBankLegalizeRules.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallVector.h"
#include <functional>

Go to the source code of this file.

Classes

struct  llvm::AMDGPU::RegBankLLTMapping
struct  llvm::AMDGPU::PredicateMapping
struct  llvm::AMDGPU::RegBankLegalizeRule
class  llvm::AMDGPU::SetOfRulesForOpcode
class  llvm::AMDGPU::RegBankLegalizeRules

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::AMDGPU

Macros

#define InvMapping   RegBankLLTMapping({InvalidMapping}, {InvalidMapping})

Enumerations

enum  llvm::AMDGPU::UniformityLLTOpPredicateID {
  llvm::AMDGPU::_ , llvm::AMDGPU::S1 , llvm::AMDGPU::S16 , llvm::AMDGPU::S32 ,
  llvm::AMDGPU::S64 , llvm::AMDGPU::S128 , llvm::AMDGPU::UniS1 , llvm::AMDGPU::UniS16 ,
  llvm::AMDGPU::UniS32 , llvm::AMDGPU::UniS64 , llvm::AMDGPU::UniS128 , llvm::AMDGPU::DivS1 ,
  llvm::AMDGPU::DivS16 , llvm::AMDGPU::DivS32 , llvm::AMDGPU::DivS64 , llvm::AMDGPU::DivS128 ,
  llvm::AMDGPU::P0 , llvm::AMDGPU::P1 , llvm::AMDGPU::P3 , llvm::AMDGPU::P4 ,
  llvm::AMDGPU::P5 , llvm::AMDGPU::Ptr32 , llvm::AMDGPU::Ptr64 , llvm::AMDGPU::Ptr128 ,
  llvm::AMDGPU::UniP0 , llvm::AMDGPU::UniP1 , llvm::AMDGPU::UniP3 , llvm::AMDGPU::UniP4 ,
  llvm::AMDGPU::UniP5 , llvm::AMDGPU::UniPtr32 , llvm::AMDGPU::UniPtr64 , llvm::AMDGPU::UniPtr128 ,
  llvm::AMDGPU::DivP0 , llvm::AMDGPU::DivP1 , llvm::AMDGPU::DivP3 , llvm::AMDGPU::DivP4 ,
  llvm::AMDGPU::DivP5 , llvm::AMDGPU::DivPtr32 , llvm::AMDGPU::DivPtr64 , llvm::AMDGPU::DivPtr128 ,
  llvm::AMDGPU::V2S16 , llvm::AMDGPU::V2S32 , llvm::AMDGPU::V3S32 , llvm::AMDGPU::V4S32 ,
  llvm::AMDGPU::UniV2S16 , llvm::AMDGPU::DivV2S16 , llvm::AMDGPU::B32 , llvm::AMDGPU::B64 ,
  llvm::AMDGPU::B96 , llvm::AMDGPU::B128 , llvm::AMDGPU::B256 , llvm::AMDGPU::B512 ,
  llvm::AMDGPU::UniB32 , llvm::AMDGPU::UniB64 , llvm::AMDGPU::UniB96 , llvm::AMDGPU::UniB128 ,
  llvm::AMDGPU::UniB256 , llvm::AMDGPU::UniB512 , llvm::AMDGPU::DivB32 , llvm::AMDGPU::DivB64 ,
  llvm::AMDGPU::DivB96 , llvm::AMDGPU::DivB128 , llvm::AMDGPU::DivB256 , llvm::AMDGPU::DivB512
}
enum  llvm::AMDGPU::RegBankLLTMappingApplyID {
  llvm::AMDGPU::InvalidMapping , llvm::AMDGPU::None , llvm::AMDGPU::IntrId , llvm::AMDGPU::Imm ,
  llvm::AMDGPU::Vcc , llvm::AMDGPU::Sgpr16 , llvm::AMDGPU::Sgpr32 , llvm::AMDGPU::Sgpr64 ,
  llvm::AMDGPU::Sgpr128 , llvm::AMDGPU::SgprP1 , llvm::AMDGPU::SgprP3 , llvm::AMDGPU::SgprP4 ,
  llvm::AMDGPU::SgprP5 , llvm::AMDGPU::SgprPtr32 , llvm::AMDGPU::SgprPtr64 , llvm::AMDGPU::SgprPtr128 ,
  llvm::AMDGPU::SgprV2S16 , llvm::AMDGPU::SgprV4S32 , llvm::AMDGPU::SgprV2S32 , llvm::AMDGPU::SgprB32 ,
  llvm::AMDGPU::SgprB64 , llvm::AMDGPU::SgprB96 , llvm::AMDGPU::SgprB128 , llvm::AMDGPU::SgprB256 ,
  llvm::AMDGPU::SgprB512 , llvm::AMDGPU::Vgpr16 , llvm::AMDGPU::Vgpr32 , llvm::AMDGPU::Vgpr64 ,
  llvm::AMDGPU::Vgpr128 , llvm::AMDGPU::VgprP0 , llvm::AMDGPU::VgprP1 , llvm::AMDGPU::VgprP3 ,
  llvm::AMDGPU::VgprP4 , llvm::AMDGPU::VgprP5 , llvm::AMDGPU::VgprPtr32 , llvm::AMDGPU::VgprPtr64 ,
  llvm::AMDGPU::VgprPtr128 , llvm::AMDGPU::VgprV2S16 , llvm::AMDGPU::VgprV2S32 , llvm::AMDGPU::VgprB32 ,
  llvm::AMDGPU::VgprB64 , llvm::AMDGPU::VgprB96 , llvm::AMDGPU::VgprB128 , llvm::AMDGPU::VgprB256 ,
  llvm::AMDGPU::VgprB512 , llvm::AMDGPU::VgprV4S32 , llvm::AMDGPU::UniInVcc , llvm::AMDGPU::UniInVgprS16 ,
  llvm::AMDGPU::UniInVgprS32 , llvm::AMDGPU::UniInVgprV2S16 , llvm::AMDGPU::UniInVgprV4S32 , llvm::AMDGPU::UniInVgprB32 ,
  llvm::AMDGPU::UniInVgprB64 , llvm::AMDGPU::UniInVgprB96 , llvm::AMDGPU::UniInVgprB128 , llvm::AMDGPU::UniInVgprB256 ,
  llvm::AMDGPU::UniInVgprB512 , llvm::AMDGPU::Sgpr32Trunc , llvm::AMDGPU::Sgpr32_WF , llvm::AMDGPU::SgprV4S32_WF ,
  llvm::AMDGPU::Sgpr32AExt , llvm::AMDGPU::Sgpr32AExtBoolInReg , llvm::AMDGPU::Sgpr32SExt , llvm::AMDGPU::Sgpr32ZExt ,
  llvm::AMDGPU::Vgpr32SExt , llvm::AMDGPU::Vgpr32ZExt
}
enum  llvm::AMDGPU::LoweringMethodID {
  llvm::AMDGPU::DoNotLower , llvm::AMDGPU::VccExtToSel , llvm::AMDGPU::UniExtToSel , llvm::AMDGPU::UnpackBitShift ,
  llvm::AMDGPU::S_BFE , llvm::AMDGPU::V_BFE , llvm::AMDGPU::VgprToVccCopy , llvm::AMDGPU::SplitTo32 ,
  llvm::AMDGPU::SplitTo32Select , llvm::AMDGPU::SplitTo32SExtInReg , llvm::AMDGPU::Ext32To64 , llvm::AMDGPU::UniCstExt ,
  llvm::AMDGPU::SplitLoad , llvm::AMDGPU::WidenLoad , llvm::AMDGPU::WidenMMOToS32
}
enum  llvm::AMDGPU::FastRulesTypes { llvm::AMDGPU::NoFastRules , llvm::AMDGPU::Standard , llvm::AMDGPU::StandardB , llvm::AMDGPU::Vector }

Functions

bool llvm::AMDGPU::isAnyPtr (LLT Ty, unsigned Width)

Macro Definition Documentation

◆ InvMapping

#define InvMapping   RegBankLLTMapping({InvalidMapping}, {InvalidMapping})

Definition at line 271 of file AMDGPURegBankLegalizeRules.h.