blob: 310fea9ef09ff637dc3feb1937aaea32c29982d6 [file] [log] [blame]
Eugene Zelenkoee513ed2017-02-07 22:59:46 +00001//===- PPCTargetStreamer.h - PPC Target Streamer ----------------*- C++ -*-===//
Rafael Espindolaa17151a2013-10-08 13:08:17 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000010#ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETSTREAMER_H
11#define LLVM_LIB_TARGET_POWERPC_PPCTARGETSTREAMER_H
Rafael Espindolaa17151a2013-10-08 13:08:17 +000012
Eugene Zelenkoee513ed2017-02-07 22:59:46 +000013#include "llvm/ADT/StringRef.h"
Rafael Espindolaa17151a2013-10-08 13:08:17 +000014#include "llvm/MC/MCStreamer.h"
15
16namespace llvm {
Eugene Zelenkoee513ed2017-02-07 22:59:46 +000017
18class MCExpr;
19class MCSymbol;
20class MCSymbolELF;
21
Rafael Espindolaa17151a2013-10-08 13:08:17 +000022class PPCTargetStreamer : public MCTargetStreamer {
23public:
Rafael Espindola24ea09e2014-01-26 06:06:37 +000024 PPCTargetStreamer(MCStreamer &S);
Alexander Kornienkof817c1c2015-04-11 02:11:45 +000025 ~PPCTargetStreamer() override;
Eugene Zelenkoee513ed2017-02-07 22:59:46 +000026
Rafael Espindolaa17151a2013-10-08 13:08:17 +000027 virtual void emitTCEntry(const MCSymbol &S) = 0;
Rafael Espindola6b9ee9b2014-01-25 02:35:56 +000028 virtual void emitMachine(StringRef CPU) = 0;
Ulrich Weigand0daa5162014-07-20 22:56:57 +000029 virtual void emitAbiVersion(int AbiVersion) = 0;
Rafael Espindola95fb9b92015-06-02 20:38:46 +000030 virtual void emitLocalEntry(MCSymbolELF *S, const MCExpr *LocalOffset) = 0;
Rafael Espindolaa17151a2013-10-08 13:08:17 +000031};
Rafael Espindolaa17151a2013-10-08 13:08:17 +000032
Eugene Zelenkoee513ed2017-02-07 22:59:46 +000033} // end namespace llvm
34
35#endif // LLVM_LIB_TARGET_POWERPC_PPCTARGETSTREAMER_H