LLVM  8.0.1
Classes | Public Member Functions | Public Attributes | List of all members
llvm::LegalityQuery Struct Reference

The LegalityQuery object bundles together all the information that's needed to decide whether a given operation is legal or not. More...

#include "llvm/CodeGen/GlobalISel/LegalizerInfo.h"

Collaboration diagram for llvm::LegalityQuery:
Collaboration graph
[legend]

Classes

struct  MemDesc
 

Public Member Functions

constexpr LegalityQuery (unsigned Opcode, const ArrayRef< LLT > Types, const ArrayRef< MemDesc > MMODescrs)
 
constexpr LegalityQuery (unsigned Opcode, const ArrayRef< LLT > Types)
 
raw_ostreamprint (raw_ostream &OS) const
 

Public Attributes

unsigned Opcode
 
ArrayRef< LLTTypes
 
ArrayRef< MemDescMMODescrs
 Operations which require memory can use this to place requirements on the memory type for each MMO. More...
 

Detailed Description

The LegalityQuery object bundles together all the information that's needed to decide whether a given operation is legal or not.

For efficiency, it doesn't make a copy of Types so care must be taken not to free it before using the query.

Definition at line 120 of file LegalizerInfo.h.

Constructor & Destructor Documentation

◆ LegalityQuery() [1/2]

constexpr llvm::LegalityQuery::LegalityQuery ( unsigned  Opcode,
const ArrayRef< LLT Types,
const ArrayRef< MemDesc MMODescrs 
)
inline

Definition at line 133 of file LegalizerInfo.h.

◆ LegalityQuery() [2/2]

constexpr llvm::LegalityQuery::LegalityQuery ( unsigned  Opcode,
const ArrayRef< LLT Types 
)
inline

Definition at line 136 of file LegalizerInfo.h.

References print().

Member Function Documentation

◆ print()

raw_ostream & LegalityQuery::print ( raw_ostream OS) const

Definition at line 46 of file LegalizerInfo.cpp.

Referenced by llvm::LegalizeRuleSet::apply().

Member Data Documentation

◆ MMODescrs

ArrayRef<MemDesc> llvm::LegalityQuery::MMODescrs

Operations which require memory can use this to place requirements on the memory type for each MMO.

Definition at line 131 of file LegalizerInfo.h.

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo().

◆ Opcode

unsigned llvm::LegalityQuery::Opcode

Definition at line 121 of file LegalizerInfo.h.

Referenced by llvm::LegalizerInfo::getAction().

◆ Types

ArrayRef<LLT> llvm::LegalityQuery::Types

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