//===- CodeGenTypes/MachineValueType.h - Machine-Level types ----*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines the set of machine-level target independent types which // legal values in the code generator use. // // Constants and properties are defined in ValueTypes.td. // //===----------------------------------------------------------------------===// #ifndef LLVM_CODEGEN_MACHINEVALUETYPE_H #define LLVM_CODEGEN_MACHINEVALUETYPE_H #include "llvm/ADT/Sequence.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/TypeSize.h" #include <cassert> #include <cstdint> namespace llvm { class Type; struct fltSemantics; class raw_ostream; /// Machine Value Type. Every type that is supported natively by some /// processor targeted by LLVM occurs here. This means that any legal value /// type can be represented by an MVT. class MVT { … }; inline raw_ostream &operator<<(raw_ostream &OS, const MVT &VT) { … } } // end namespace llvm #endif // LLVM_CODEGEN_MACHINEVALUETYPE_H