1 | //===-- HexagonTargetStreamer.h - Hexagon Target Streamer ------*- 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 HEXAGONTARGETSTREAMER_H |
10 | #define HEXAGONTARGETSTREAMER_H |
11 | |
12 | #include "llvm/MC/MCStreamer.h" |
13 | |
14 | namespace llvm { |
15 | class HexagonTargetStreamer : public MCTargetStreamer { |
16 | public: |
17 | HexagonTargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {} |
18 | virtual void emitCodeAlignment(Align Alignment, const MCSubtargetInfo *STI, |
19 | unsigned MaxBytesToEmit = 0){}; |
20 | virtual void emitFAlign(unsigned Size, unsigned MaxBytesToEmit){}; |
21 | virtual void emitCommonSymbolSorted(MCSymbol *Symbol, uint64_t Size, |
22 | unsigned ByteAlignment, |
23 | unsigned AccessGranularity){}; |
24 | virtual void emitLocalCommonSymbolSorted(MCSymbol *Symbol, uint64_t Size, |
25 | unsigned ByteAlign, |
26 | unsigned AccessGranularity){}; |
27 | void finish() override {} |
28 | |
29 | virtual void finishAttributeSection() {} |
30 | |
31 | virtual void emitAttribute(unsigned Attribute, unsigned Value) {} |
32 | |
33 | void emitTargetAttributes(const MCSubtargetInfo &STI); |
34 | |
35 | virtual void reset() {} |
36 | }; |
37 | } |
38 | |
39 | #endif |
40 | |