struct LegalityQuery

Declaration

struct LegalityQuery { /* full declaration omitted */ };

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.

Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h:108

Member Variables

public unsigned int Opcode
public ArrayRef<llvm::LLT> Types
public ArrayRef<llvm::LegalityQuery::MemDesc> MMODescrs
Operations which require memory can use this to place requirements on the memory type for each MMO.

Method Overview

  • public constexpr LegalityQuery(unsigned int Opcode, const ArrayRef<llvm::LLT> Types, const ArrayRef<llvm::LegalityQuery::MemDesc> MMODescrs)
  • public constexpr LegalityQuery(unsigned int Opcode, const ArrayRef<llvm::LLT> Types)
  • public llvm::raw_ostream & print(llvm::raw_ostream & OS) const

Methods

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

Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h:130

Parameters

unsigned int Opcode
const ArrayRef<llvm::LLT> Types
const ArrayRef<llvm::LegalityQuery::MemDesc> MMODescrs

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

Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h:133

Parameters

unsigned int Opcode
const ArrayRef<llvm::LLT> Types

llvm::raw_ostream& print(
    llvm::raw_ostream& OS) const

Declared at: llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h:136

Parameters

llvm::raw_ostream& OS