1 //===-- HexagonTargetStreamer.h - Hexagon Target Streamer ------*- C++ -*--===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef HEXAGONTARGETSTREAMER_H
10 #define HEXAGONTARGETSTREAMER_H
12 #include "llvm/MC/MCStreamer.h"
15 class HexagonTargetStreamer
: public MCTargetStreamer
{
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
,
26 unsigned AccessGranularity
){};
27 void finish() override
{}
29 virtual void finishAttributeSection() {}
31 virtual void emitAttribute(unsigned Attribute
, unsigned Value
) {}
33 void emitTargetAttributes(const MCSubtargetInfo
&STI
);
35 virtual void reset() {}