//===- bolt/Core/JumpTable.h - Jump table at low-level IR -------*- 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 JumpTable class, which represents a jump table in a // binary file. // //===----------------------------------------------------------------------===// #ifndef BOLT_CORE_JUMP_TABLE_H #define BOLT_CORE_JUMP_TABLE_H #include "bolt/Core/BinaryData.h" #include <map> #include <vector> namespace llvm { class MCSymbol; class raw_ostream; namespace bolt { enum JumpTableSupportLevel : char { … }; class BinaryFunction; /// Representation of a jump table. /// /// The jump table may include other jump tables that are referenced by /// a different label at a different offset in this jump table. class JumpTable : public BinaryData { … }; } // namespace bolt } // namespace llvm #endif