//===- Value.h --------------------------------------------------*- 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_SANDBOXIR_VALUE_H #define LLVM_SANDBOXIR_VALUE_H #include "llvm/IR/Value.h" #include "llvm/SandboxIR/Use.h" namespace llvm::sandboxir { // Forward declare all classes to avoid some MSVC build errors. #define DEF_INSTR … #define DEF_CONST … #define DEF_USER … #include "llvm/SandboxIR/Values.def" class Context; class FuncletPadInst; class Type; class GlobalValue; class GlobalObject; class Module; class UnaryInstruction; class CmpInst; /// Iterator for the `Use` edges of a Value's users. /// \Returns a `Use` when dereferenced. class UserUseIterator { … }; /// A SandboxIR Value has users. This is the base class. class Value { … }; } // namespace llvm::sandboxir #endif // LLVM_SANDBOXIR_VALUE_H