LLVM 22.0.0git
MachineValueType.h File Reference
#include "llvm/ADT/Sequence.h"
#include "llvm/Support/Compiler.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)
#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)
#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_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)

Functions

raw_ostreamllvm::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 )
Value:
EltTy,

Definition at line 43 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:
NElem,

Definition at line 43 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 )
Value:
TypeSize(Sz, Sc || Tup || Ty == aarch64svcount /* FIXME: Not in the td. \
*/),

Definition at line 43 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 )
Value:
NF,

Definition at line 43 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:
Ty = n,

Definition at line 43 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:
case Ty: \
return Any;

Definition at line 43 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 (FP == 3 && sz == BitWidth) \
return Ty;
const uint64_t BitWidth

Definition at line 43 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 (Int == 3 && sz == BitWidth) \
return Ty;

Definition at line 43 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 )
Value:
if (Tup && sz == Sz && NF == NFields) \
return Ty;

Definition at line 43 of file MachineValueType.h.

◆ GET_VT_RANGES

#define GET_VT_RANGES

Definition at line 45 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;