LLVM 22.0.0git
SystemZISelLowering.h File Reference
#include "SystemZ.h"
#include "SystemZInstrInfo.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/TargetLowering.h"
#include <optional>

Go to the source code of this file.

Classes

class  llvm::SystemZTargetLowering
struct  llvm::SystemZVectorConstantInfo

Namespaces

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

Enumerations

enum  llvm::SystemZISD::NodeType : unsigned {
  llvm::SystemZISD::FIRST_NUMBER = ISD::BUILTIN_OP_END , llvm::SystemZISD::RET_GLUE , llvm::SystemZISD::CALL , llvm::SystemZISD::SIBCALL ,
  llvm::SystemZISD::TLS_GDCALL , llvm::SystemZISD::TLS_LDCALL , llvm::SystemZISD::PCREL_WRAPPER , llvm::SystemZISD::PCREL_OFFSET ,
  llvm::SystemZISD::ICMP , llvm::SystemZISD::FCMP , llvm::SystemZISD::TM , llvm::SystemZISD::BR_CCMASK ,
  llvm::SystemZISD::SELECT_CCMASK , llvm::SystemZISD::ADJDYNALLOC , llvm::SystemZISD::PROBED_ALLOCA , llvm::SystemZISD::POPCNT ,
  llvm::SystemZISD::SMUL_LOHI , llvm::SystemZISD::UMUL_LOHI , llvm::SystemZISD::SDIVREM , llvm::SystemZISD::UDIVREM ,
  llvm::SystemZISD::SADDO , llvm::SystemZISD::SSUBO , llvm::SystemZISD::UADDO , llvm::SystemZISD::USUBO ,
  llvm::SystemZISD::ADDCARRY , llvm::SystemZISD::SUBCARRY , llvm::SystemZISD::GET_CCMASK , llvm::SystemZISD::MVC ,
  llvm::SystemZISD::NC , llvm::SystemZISD::OC , llvm::SystemZISD::XC , llvm::SystemZISD::CLC ,
  llvm::SystemZISD::MEMSET_MVC , llvm::SystemZISD::STPCPY , llvm::SystemZISD::STRCMP , llvm::SystemZISD::SEARCH_STRING ,
  llvm::SystemZISD::IPM , llvm::SystemZISD::TBEGIN , llvm::SystemZISD::TBEGIN_NOFLOAT , llvm::SystemZISD::TEND ,
  llvm::SystemZISD::BYTE_MASK , llvm::SystemZISD::ROTATE_MASK , llvm::SystemZISD::REPLICATE , llvm::SystemZISD::JOIN_DWORDS ,
  llvm::SystemZISD::SPLAT , llvm::SystemZISD::MERGE_HIGH , llvm::SystemZISD::MERGE_LOW , llvm::SystemZISD::SHL_DOUBLE ,
  llvm::SystemZISD::PERMUTE_DWORDS , llvm::SystemZISD::PERMUTE , llvm::SystemZISD::PACK , llvm::SystemZISD::PACKS_CC ,
  llvm::SystemZISD::PACKLS_CC , llvm::SystemZISD::UNPACK_HIGH , llvm::SystemZISD::UNPACKL_HIGH , llvm::SystemZISD::UNPACK_LOW ,
  llvm::SystemZISD::UNPACKL_LOW , llvm::SystemZISD::VSHL_BY_SCALAR , llvm::SystemZISD::VSRL_BY_SCALAR , llvm::SystemZISD::VSRA_BY_SCALAR ,
  llvm::SystemZISD::VROTL_BY_SCALAR , llvm::SystemZISD::SHL_DOUBLE_BIT , llvm::SystemZISD::SHR_DOUBLE_BIT , llvm::SystemZISD::VSUM ,
  llvm::SystemZISD::VACC , llvm::SystemZISD::VSCBI , llvm::SystemZISD::VAC , llvm::SystemZISD::VSBI ,
  llvm::SystemZISD::VACCC , llvm::SystemZISD::VSBCBI , llvm::SystemZISD::VMAH , llvm::SystemZISD::VMALH ,
  llvm::SystemZISD::VME , llvm::SystemZISD::VMLE , llvm::SystemZISD::VMO , llvm::SystemZISD::VMLO ,
  llvm::SystemZISD::VICMPE , llvm::SystemZISD::VICMPH , llvm::SystemZISD::VICMPHL , llvm::SystemZISD::VICMPES ,
  llvm::SystemZISD::VICMPHS , llvm::SystemZISD::VICMPHLS , llvm::SystemZISD::VFCMPE , llvm::SystemZISD::VFCMPH ,
  llvm::SystemZISD::VFCMPHE , llvm::SystemZISD::VFCMPES , llvm::SystemZISD::VFCMPHS , llvm::SystemZISD::VFCMPHES ,
  llvm::SystemZISD::VFTCI , llvm::SystemZISD::VEXTEND , llvm::SystemZISD::VROUND , llvm::SystemZISD::VTM ,
  llvm::SystemZISD::SCMP128HI , llvm::SystemZISD::UCMP128HI , llvm::SystemZISD::VFAE_CC , llvm::SystemZISD::VFAEZ_CC ,
  llvm::SystemZISD::VFEE_CC , llvm::SystemZISD::VFEEZ_CC , llvm::SystemZISD::VFENE_CC , llvm::SystemZISD::VFENEZ_CC ,
  llvm::SystemZISD::VISTR_CC , llvm::SystemZISD::VSTRC_CC , llvm::SystemZISD::VSTRCZ_CC , llvm::SystemZISD::VSTRS_CC ,
  llvm::SystemZISD::VSTRSZ_CC , llvm::SystemZISD::TDC , llvm::SystemZISD::ADA_ENTRY , llvm::SystemZISD::FIRST_STRICTFP_OPCODE ,
  llvm::SystemZISD::STRICT_FCMP = FIRST_STRICTFP_OPCODE , llvm::SystemZISD::STRICT_FCMPS , llvm::SystemZISD::STRICT_VFCMPE , llvm::SystemZISD::STRICT_VFCMPH ,
  llvm::SystemZISD::STRICT_VFCMPHE , llvm::SystemZISD::STRICT_VFCMPES , llvm::SystemZISD::STRICT_VFCMPHS , llvm::SystemZISD::STRICT_VFCMPHES ,
  llvm::SystemZISD::STRICT_VEXTEND , llvm::SystemZISD::STRICT_VROUND , llvm::SystemZISD::LAST_STRICTFP_OPCODE = STRICT_VROUND , llvm::SystemZISD::FIRST_MEMORY_OPCODE ,
  llvm::SystemZISD::ATOMIC_SWAPW = FIRST_MEMORY_OPCODE , llvm::SystemZISD::ATOMIC_LOADW_ADD , llvm::SystemZISD::ATOMIC_LOADW_SUB , llvm::SystemZISD::ATOMIC_LOADW_AND ,
  llvm::SystemZISD::ATOMIC_LOADW_OR , llvm::SystemZISD::ATOMIC_LOADW_XOR , llvm::SystemZISD::ATOMIC_LOADW_NAND , llvm::SystemZISD::ATOMIC_LOADW_MIN ,
  llvm::SystemZISD::ATOMIC_LOADW_MAX , llvm::SystemZISD::ATOMIC_LOADW_UMIN , llvm::SystemZISD::ATOMIC_LOADW_UMAX , llvm::SystemZISD::ATOMIC_CMP_SWAPW ,
  llvm::SystemZISD::ATOMIC_CMP_SWAP , llvm::SystemZISD::ATOMIC_LOAD_128 , llvm::SystemZISD::ATOMIC_STORE_128 , llvm::SystemZISD::ATOMIC_CMP_SWAP_128 ,
  llvm::SystemZISD::LRV , llvm::SystemZISD::STRV , llvm::SystemZISD::VLER , llvm::SystemZISD::VSTER ,
  llvm::SystemZISD::STCKF , llvm::SystemZISD::PREFETCH , llvm::SystemZISD::LAST_MEMORY_OPCODE = PREFETCH
}
enum  { llvm::SystemZICMP::Any , llvm::SystemZICMP::UnsignedOnly , llvm::SystemZICMP::SignedOnly }

Functions

bool llvm::SystemZISD::isPCREL (unsigned Opcode)