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