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

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

#include <AArch64LegalizerInfo.h>

Inheritance diagram for llvm::AArch64LegalizerInfo:
[legend]
Collaboration diagram for llvm::AArch64LegalizerInfo:
[legend]

Public Member Functions

 AArch64LegalizerInfo ()
 
- Public Member Functions inherited from llvm::LegalizerInfo
 LegalizerInfo ()
 
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, LLT
getAction (const MachineInstr &MI, const MachineRegisterInfo &MRI) const
 Determine what action should be taken to legalize the given generic instruction. More...
 
LLT findLegalType (const InstrAspect &Aspect, std::function< 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...
 
LLT findLegalType (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
}
 

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 ( )

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