xref: /llvm-project/bolt/include/bolt/RuntimeLibs/HugifyRuntimeLibrary.h (revision 05634f7346a59f6dab89cde53f39b40d9a70b9c9)
1 //===- bolt/RuntimeLibs/HugifyRuntimeLibrary.h - Hugify Lib -----*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains the declaration of the HugifyRuntimeLibrary class.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef BOLT_RUNTIMELIBS_HUGIFY_RUNTIME_LIBRARY_H
14 #define BOLT_RUNTIMELIBS_HUGIFY_RUNTIME_LIBRARY_H
15 
16 #include "bolt/RuntimeLibs/RuntimeLibrary.h"
17 
18 namespace llvm {
19 namespace bolt {
20 
21 class HugifyRuntimeLibrary : public RuntimeLibrary {
22 public:
23   /// Add custom section names generated by the runtime libraries to \p
24   /// SecNames.
addRuntimeLibSections(std::vector<std::string> & SecNames)25   void addRuntimeLibSections(std::vector<std::string> &SecNames) const final {}
26 
27   void adjustCommandLineOptions(const BinaryContext &BC) const final;
28 
emitBinary(BinaryContext & BC,MCStreamer & Streamer)29   void emitBinary(BinaryContext &BC, MCStreamer &Streamer) final {}
30 
31   void link(BinaryContext &BC, StringRef ToolPath, BOLTLinker &Linker,
32             BOLTLinker::SectionsMapper MapSections) override;
33 };
34 
35 } // namespace bolt
36 } // namespace llvm
37 
38 #endif
39