xref: /freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h (revision 349cc55c9796c4596a5b9904cd3281af295f878f)
10b57cec5SDimitry Andric //====-- SystemZMCAsmInfo.h - SystemZ asm properties -----------*- C++ -*--===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
90b57cec5SDimitry Andric #ifndef LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZMCASMINFO_H
100b57cec5SDimitry Andric #define LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZMCASMINFO_H
110b57cec5SDimitry Andric 
120b57cec5SDimitry Andric #include "llvm/MC/MCAsmInfoELF.h"
13*349cc55cSDimitry Andric #include "llvm/MC/MCAsmInfoGOFF.h"
140b57cec5SDimitry Andric #include "llvm/Support/Compiler.h"
150b57cec5SDimitry Andric 
160b57cec5SDimitry Andric namespace llvm {
170b57cec5SDimitry Andric class Triple;
18fe6060f1SDimitry Andric enum SystemZAsmDialect { AD_ATT = 0, AD_HLASM = 1 };
190b57cec5SDimitry Andric 
20*349cc55cSDimitry Andric class SystemZMCAsmInfoELF : public MCAsmInfoELF {
210b57cec5SDimitry Andric public:
22*349cc55cSDimitry Andric   explicit SystemZMCAsmInfoELF(const Triple &TT);
23*349cc55cSDimitry Andric };
24*349cc55cSDimitry Andric 
25*349cc55cSDimitry Andric class SystemZMCAsmInfoGOFF : public MCAsmInfoGOFF {
26*349cc55cSDimitry Andric public:
27*349cc55cSDimitry Andric   explicit SystemZMCAsmInfoGOFF(const Triple &TT);
28fe6060f1SDimitry Andric   bool isAcceptableChar(char C) const override;
290b57cec5SDimitry Andric };
300b57cec5SDimitry Andric 
310b57cec5SDimitry Andric } // end namespace llvm
320b57cec5SDimitry Andric 
330b57cec5SDimitry Andric #endif
34