LLVM 20.0.0git
Classes | Namespaces | Macros | Functions
MachineValueType.h File Reference
#include "llvm/ADT/Sequence.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/TypeSize.h"
#include <cassert>
#include <cstdint>
#include "llvm/CodeGen/GenVT.inc"

Go to the source code of this file.

Classes

class  llvm::MVT
 Machine Value Type. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Macros

#define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)    Ty = n,
 
#define GET_VT_RANGES
 
#define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)
 
#define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)    EltTy,
 
#define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)    NElem,
 
#define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)
 
#define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)
 
#define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)
 
#define GET_VT_VECATTR(Ty, Sc, Tup, nElem, ElTy)
 
#define GET_VT_VECATTR(Ty, Sc, Tup, nElem, ElTy)
 
#define GET_VT_ATTR(Ty, n, sz, Any, Int, FP, Vec, Sc, Tup, NF, nElem, EltTy)
 
#define GET_VT_ATTR(Ty, N, Sz, Any, Int, FP, Vec, Sc, Tup, NF, NElem, EltTy)    NF,
 

Functions

raw_ostream & llvm::operator<< (raw_ostream &OS, const MVT &VT)
 

Macro Definition Documentation

◆ GET_VT_ATTR [1/9]

#define GET_VT_ATTR (   Ty,
  n,
  sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)     Ty = n,

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [2/9]

#define GET_VT_ATTR (   Ty,
  n,
  sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)
Value:
case Ty: \
return Any;

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [3/9]

#define GET_VT_ATTR (   Ty,
  N,
  Sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)     EltTy,

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [4/9]

#define GET_VT_ATTR (   Ty,
  N,
  Sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)     NElem,

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [5/9]

#define GET_VT_ATTR (   Ty,
  N,
  Sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)
Value:
TypeSize(Sz, Sc || Tup || Ty == aarch64svcount /* FIXME: Not in the td. \
*/),

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [6/9]

#define GET_VT_ATTR (   Ty,
  n,
  sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)
Value:
if (FP == 3 && sz == BitWidth) \
return Ty;
const uint64_t BitWidth

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [7/9]

#define GET_VT_ATTR (   Ty,
  n,
  sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)
Value:
if (Int == 3 && sz == BitWidth) \
return Ty;

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [8/9]

#define GET_VT_ATTR (   Ty,
  n,
  sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  nElem,
  EltTy 
)
Value:
if (Tup && sz == Sz && NF == NFields) \
return Ty;

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_ATTR [9/9]

#define GET_VT_ATTR (   Ty,
  N,
  Sz,
  Any,
  Int,
  FP,
  Vec,
  Sc,
  Tup,
  NF,
  NElem,
  EltTy 
)     NF,

Definition at line 42 of file MachineValueType.h.

◆ GET_VT_RANGES

#define GET_VT_RANGES

Definition at line 44 of file MachineValueType.h.

◆ GET_VT_VECATTR [1/2]

#define GET_VT_VECATTR (   Ty,
  Sc,
  Tup,
  nElem,
  ElTy 
)
Value:
if (!Sc && !Tup && VT.SimpleTy == ElTy && NumElements == nElem) \
return Ty;

◆ GET_VT_VECATTR [2/2]

#define GET_VT_VECATTR (   Ty,
  Sc,
  Tup,
  nElem,
  ElTy 
)
Value:
if (Sc && VT.SimpleTy == ElTy && NumElements == nElem) \
return Ty;