xref: /freebsd-src/contrib/llvm-project/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchTargetStreamer.h (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
1*bdd1243dSDimitry Andric //===-- LoongArchTargetStreamer.h - LoongArch Target Streamer --*- C++ -*--===//
2*bdd1243dSDimitry Andric //
3*bdd1243dSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*bdd1243dSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*bdd1243dSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*bdd1243dSDimitry Andric //
7*bdd1243dSDimitry Andric //===----------------------------------------------------------------------===//
8*bdd1243dSDimitry Andric 
9*bdd1243dSDimitry Andric #ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHTARGETSTREAMER_H
10*bdd1243dSDimitry Andric #define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHTARGETSTREAMER_H
11*bdd1243dSDimitry Andric 
12*bdd1243dSDimitry Andric #include "LoongArch.h"
13*bdd1243dSDimitry Andric #include "llvm/MC/MCStreamer.h"
14*bdd1243dSDimitry Andric #include "llvm/MC/MCSubtargetInfo.h"
15*bdd1243dSDimitry Andric 
16*bdd1243dSDimitry Andric namespace llvm {
17*bdd1243dSDimitry Andric class LoongArchTargetStreamer : public MCTargetStreamer {
18*bdd1243dSDimitry Andric   LoongArchABI::ABI TargetABI = LoongArchABI::ABI_Unknown;
19*bdd1243dSDimitry Andric 
20*bdd1243dSDimitry Andric public:
21*bdd1243dSDimitry Andric   LoongArchTargetStreamer(MCStreamer &S);
22*bdd1243dSDimitry Andric   void setTargetABI(LoongArchABI::ABI ABI);
getTargetABI()23*bdd1243dSDimitry Andric   LoongArchABI::ABI getTargetABI() const { return TargetABI; }
24*bdd1243dSDimitry Andric };
25*bdd1243dSDimitry Andric 
26*bdd1243dSDimitry Andric } // end namespace llvm
27*bdd1243dSDimitry Andric #endif
28