1*7330f729Sjoerg //===--- Opcode.h - Opcodes for the constexpr VM ----------------*- C++ -*-===// 2*7330f729Sjoerg // 3*7330f729Sjoerg // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*7330f729Sjoerg // See https://llvm.org/LICENSE.txt for license information. 5*7330f729Sjoerg // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*7330f729Sjoerg // 7*7330f729Sjoerg //===----------------------------------------------------------------------===// 8*7330f729Sjoerg // 9*7330f729Sjoerg // Defines all opcodes executed by the VM and emitted by the compiler. 10*7330f729Sjoerg // 11*7330f729Sjoerg //===----------------------------------------------------------------------===// 12*7330f729Sjoerg 13*7330f729Sjoerg #ifndef LLVM_CLANG_AST_INTERP_OPCODE_H 14*7330f729Sjoerg #define LLVM_CLANG_AST_INTERP_OPCODE_H 15*7330f729Sjoerg 16*7330f729Sjoerg #include <cstdint> 17*7330f729Sjoerg 18*7330f729Sjoerg namespace clang { 19*7330f729Sjoerg namespace interp { 20*7330f729Sjoerg 21*7330f729Sjoerg enum Opcode : uint32_t { 22*7330f729Sjoerg #define GET_OPCODE_NAMES 23*7330f729Sjoerg #include "Opcodes.inc" 24*7330f729Sjoerg #undef GET_OPCODE_NAMES 25*7330f729Sjoerg }; 26*7330f729Sjoerg 27*7330f729Sjoerg } // namespace interp 28*7330f729Sjoerg } // namespace clang 29*7330f729Sjoerg 30*7330f729Sjoerg #endif 31