LLVM 20.0.0git
|
Implement a low-level type suitable for MachineInstr level instruction selection. More...
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/CodeGenTypes/MachineValueType.h"
#include "llvm/Support/Debug.h"
#include <cassert>
Go to the source code of this file.
Classes | |
class | llvm::LLT |
struct | llvm::DenseMapInfo< LLT > |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Functions | |
raw_ostream & | llvm::operator<< (raw_ostream &OS, const LLT &Ty) |
Implement a low-level type suitable for MachineInstr level instruction selection.
For a type attached to a MachineInstr, we only care about 2 details: total size and the number of vector lanes (if any). Accordingly, there are 4 possible valid type-kinds:
sN
for scalars and aggregates<N x sM>
for vectors, which must have at least 2 elements.pN
for pointersOther information required for correct selection is expected to be carried by the opcode, or non-type flags. For example the distinction between G_ADD and G_FADD for int/float or fast-math flags.
Definition in file LowLevelType.h.