LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::AArch64LegalizerInfo Class Reference

This class provides the information for the target register banks. More...

#include "Target/AArch64/AArch64LegalizerInfo.h"

Inheritance diagram for llvm::AArch64LegalizerInfo:
Inheritance graph
Collaboration diagram for llvm::AArch64LegalizerInfo:
Collaboration graph

Public Member Functions

 AArch64LegalizerInfo ()
bool legalizeCustom (MachineInstr &MI, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder) const override
- Public Member Functions inherited from llvm::LegalizerInfo
 LegalizerInfo ()
virtual ~LegalizerInfo ()=default
void computeTables ()
 Compute any ancillary tables needed to quickly decide how an operation should be handled. More...
void setAction (const InstrAspect &Aspect, LegalizeAction Action)
 More friendly way to set an action for common types that have an LLT representation. More...
void setScalarInVectorAction (unsigned Opcode, LLT ScalarTy, LegalizeAction Action)
 If an operation on a given vector type (say <M x="" in>="">) isn't explicitly specified, we proceed in 2 stages. More...
std::pair< LegalizeAction, LLTgetAction (const InstrAspect &Aspect) const
 Determine what action should be taken to legalize the given generic instruction opcode, type-index and type. More...
std::tuple< LegalizeAction, unsigned, LLTgetAction (const MachineInstr &MI, const MachineRegisterInfo &MRI) const
 Determine what action should be taken to legalize the given generic instruction. More...
Optional< LLTfindLegalizableSize (const InstrAspect &Aspect, function_ref< LLT(LLT)> NextType) const
 Iterate the given function (typically something like doubling the width) on Ty until we find a legal type for this operation. More...
Optional< LLTfindLegalType (const InstrAspect &Aspect, LegalizeAction Action) const
 Find what type it's actually OK to perform the given operation on, given the general approach we've decided to take. More...
std::pair< LegalizeAction, LLTfindLegalAction (const InstrAspect &Aspect, LegalizeAction Action) const
LegalizeAction findInActions (const InstrAspect &Aspect) const
 Find the specified Aspect in the primary (explicitly set) Actions table. More...
bool isLegal (const MachineInstr &MI, const MachineRegisterInfo &MRI) const

Additional Inherited Members

- Public Types inherited from llvm::LegalizerInfo
enum  LegalizeAction : std::uint8_t {
  Legal, NarrowScalar, WidenScalar, FewerElements,
  MoreElements, Lower, Libcall, Custom,
  Unsupported, NotFound
- Static Public Member Functions inherited from llvm::LegalizerInfo
static bool needsLegalizingToDifferentSize (const LegalizeAction Action)

Detailed Description

This class provides the information for the target register banks.

Definition at line 25 of file AArch64LegalizerInfo.h.

Constructor & Destructor Documentation

◆ AArch64LegalizerInfo()

AArch64LegalizerInfo::AArch64LegalizerInfo ( )

Member Function Documentation

◆ legalizeCustom()

bool AArch64LegalizerInfo::legalizeCustom ( MachineInstr MI,
MachineRegisterInfo MRI,
MachineIRBuilder MIRBuilder 
) const

The documentation for this class was generated from the following files: