LLVM 20.0.0git
HexagonTargetStreamer.h
Go to the documentation of this file.
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
14namespace llvm {
16public:
18 virtual void emitCodeAlignment(Align Alignment, const MCSubtargetInfo *STI,
19 unsigned MaxBytesToEmit = 0){};
20 virtual void emitFAlign(unsigned Size, unsigned MaxBytesToEmit){};
22 unsigned ByteAlignment,
23 unsigned AccessGranularity){};
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
34
35 virtual void reset() {}
36};
37}
38
39#endif
uint64_t Size
virtual void emitCommonSymbolSorted(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlignment, unsigned AccessGranularity)
void emitTargetAttributes(const MCSubtargetInfo &STI)
virtual void emitCodeAlignment(Align Alignment, const MCSubtargetInfo *STI, unsigned MaxBytesToEmit=0)
virtual void emitFAlign(unsigned Size, unsigned MaxBytesToEmit)
virtual void emitLocalCommonSymbolSorted(MCSymbol *Symbol, uint64_t Size, unsigned ByteAlign, unsigned AccessGranularity)
virtual void emitAttribute(unsigned Attribute, unsigned Value)
Streaming machine code generation interface.
Definition: MCStreamer.h:213
Generic base class for all target subtargets.
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition: MCSymbol.h:41
Target specific streamer interface.
Definition: MCStreamer.h:94
LLVM Value Representation.
Definition: Value.h:74
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
This struct is a compact representation of a valid (non-zero power of two) alignment.
Definition: Alignment.h:39