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

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

#include "Target/X86/X86LegalizerInfo.h"

Inheritance diagram for llvm::X86LegalizerInfo:
Inheritance graph
Collaboration diagram for llvm::X86LegalizerInfo:
Collaboration graph

Public Member Functions

 X86LegalizerInfo (const X86Subtarget &STI, const X86TargetMachine &TM)
- 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
virtual bool legalizeCustom (MachineInstr &MI, MachineRegisterInfo &MRI, MachineIRBuilder &MIRBuilder) 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 26 of file X86LegalizerInfo.h.

Constructor & Destructor Documentation

◆ X86LegalizerInfo()

X86LegalizerInfo::X86LegalizerInfo ( const X86Subtarget STI,
const X86TargetMachine TM 

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