LLVM  10.0.0svn
Macros | Functions
AMDGPULegalizerInfo.cpp File Reference

This file implements the targeting of the Machinelegalizer class for AMDGPU. More...

#include "AMDGPU.h"
#include "AMDGPULegalizerInfo.h"
#include "AMDGPUTargetMachine.h"
#include "SIMachineFunctionInfo.h"
#include "llvm/CodeGen/GlobalISel/LegalizerHelper.h"
#include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
#include "llvm/CodeGen/TargetOpcodes.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Type.h"
#include "llvm/Support/Debug.h"
Include dependency graph for AMDGPULegalizerInfo.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "amdgpu-legalinfo"
 

Functions

static LegalityPredicate isMultiple32 (unsigned TypeIdx, unsigned MaxSize=1024)
 
static LegalityPredicate sizeIs (unsigned TypeIdx, unsigned Size)
 
static LegalityPredicate isSmallOddVector (unsigned TypeIdx)
 
static LegalityPredicate isWideVec16 (unsigned TypeIdx)
 
static LegalizeMutation oneMoreElement (unsigned TypeIdx)
 
static LegalizeMutation fewerEltsToSize64Vector (unsigned TypeIdx)
 
static LegalizeMutation moreEltsToNext32Bit (unsigned TypeIdx)
 
static LegalityPredicate vectorSmallerThan (unsigned TypeIdx, unsigned Size)
 
static LegalityPredicate vectorWiderThan (unsigned TypeIdx, unsigned Size)
 
static LegalityPredicate numElementsNotEven (unsigned TypeIdx)
 
static LegalityPredicate isRegisterType (unsigned TypeIdx)
 
static LegalityPredicate elementTypeIs (unsigned TypeIdx, LLT Type)
 
static LegalityPredicate isWideScalarTruncStore (unsigned TypeIdx)
 
static MachineInstrBuilder extractF64Exponent (unsigned Hi, MachineIRBuilder &B)
 
static MachineInstrverifyCFIntrinsic (MachineInstr &MI, MachineRegisterInfo &MRI)
 

Detailed Description

This file implements the targeting of the Machinelegalizer class for AMDGPU.

Todo:
This should be generated by TableGen.

Definition in file AMDGPULegalizerInfo.cpp.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "amdgpu-legalinfo"

Definition at line 34 of file AMDGPULegalizerInfo.cpp.

Function Documentation

◆ elementTypeIs()

static LegalityPredicate elementTypeIs ( unsigned  TypeIdx,
LLT  Type 
)
static

◆ extractF64Exponent()

static MachineInstrBuilder extractF64Exponent ( unsigned  Hi,
MachineIRBuilder B 
)
static

◆ fewerEltsToSize64Vector()

static LegalizeMutation fewerEltsToSize64Vector ( unsigned  TypeIdx)
static

◆ isMultiple32()

static LegalityPredicate isMultiple32 ( unsigned  TypeIdx,
unsigned  MaxSize = 1024 
)
static

◆ isRegisterType()

static LegalityPredicate isRegisterType ( unsigned  TypeIdx)
static

◆ isSmallOddVector()

static LegalityPredicate isSmallOddVector ( unsigned  TypeIdx)
static

◆ isWideScalarTruncStore()

static LegalityPredicate isWideScalarTruncStore ( unsigned  TypeIdx)
static

◆ isWideVec16()

static LegalityPredicate isWideVec16 ( unsigned  TypeIdx)
static

◆ moreEltsToNext32Bit()

static LegalizeMutation moreEltsToNext32Bit ( unsigned  TypeIdx)
static

◆ numElementsNotEven()

static LegalityPredicate numElementsNotEven ( unsigned  TypeIdx)
static

◆ oneMoreElement()

static LegalizeMutation oneMoreElement ( unsigned  TypeIdx)
static

◆ sizeIs()

static LegalityPredicate sizeIs ( unsigned  TypeIdx,
unsigned  Size 
)
static

Definition at line 51 of file AMDGPULegalizerInfo.cpp.

References Size.

Referenced by llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo().

◆ vectorSmallerThan()

static LegalityPredicate vectorSmallerThan ( unsigned  TypeIdx,
unsigned  Size 
)
static

◆ vectorWiderThan()

static LegalityPredicate vectorWiderThan ( unsigned  TypeIdx,
unsigned  Size 
)
static

◆ verifyCFIntrinsic()

static MachineInstr* verifyCFIntrinsic ( MachineInstr MI,
MachineRegisterInfo MRI 
)
static