1 | //===- bolt/Passes/VeneerElimination.h --------------------------*- 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 | #ifndef BOLT_PASSES_VENEER_ELIMINATION_H |
10 | #define BOLT_PASSES_VENEER_ELIMINATION_H |
11 | |
12 | #include "bolt/Passes/BinaryPasses.h" |
13 | |
14 | namespace llvm { |
15 | namespace bolt { |
16 | |
17 | class VeneerElimination : public BinaryFunctionPass { |
18 | public: |
19 | /// BinaryPass public interface |
20 | explicit VeneerElimination(const cl::opt<bool> &PrintPass) |
21 | : BinaryFunctionPass(PrintPass) {} |
22 | |
23 | const char *getName() const override { return "veneer-elimination" ; } |
24 | |
25 | Error runOnFunctions(BinaryContext &BC) override; |
26 | }; |
27 | |
28 | } // namespace bolt |
29 | } // namespace llvm |
30 | |
31 | #endif // BOLT_PASSES_VENEER_ELIMINATION_H |
32 | |