LLVM 22.0.0git
SystemZMCAsmInfo.h
Go to the documentation of this file.
1//====-- SystemZMCAsmInfo.h - SystemZ asm properties -----------*- 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 LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZMCASMINFO_H
10#define LLVM_LIB_TARGET_SYSTEMZ_MCTARGETDESC_SYSTEMZMCASMINFO_H
11
15
16namespace llvm {
17class Triple;
19
21public:
22 explicit SystemZMCAsmInfoELF(const Triple &TT);
23};
24
26public:
27 explicit SystemZMCAsmInfoGOFF(const Triple &TT);
28 bool isAcceptableChar(char C) const override;
30 const MCSpecifierExpr &Expr) const override;
32 const MCAssembler *Asm) const override;
33};
34
35namespace SystemZ {
37enum {
39
49
50 // HLASM docs for address constants:
51 // https://www.ibm.com/docs/en/hla-and-tf/1.6?topic=value-address-constants
52 S_RCon, // Address of ADA of symbol.
53 S_VCon, // Address of external function symbol.
54};
55} // namespace SystemZ
56
57} // end namespace llvm
58
59#endif
This file defines certain target specific asm properties for GOFF (z/OS) based targets.
raw_pwrite_stream & OS
Extension point for target-specific MCExpr subclasses with a relocation specifier,...
Definition: MCExpr.h:495
bool evaluateAsRelocatableImpl(const MCSpecifierExpr &Expr, MCValue &Res, const MCAssembler *Asm) const override
bool isAcceptableChar(char C) const override
Return true if C is an acceptable character inside a symbol name.
void printSpecifierExpr(raw_ostream &OS, const MCSpecifierExpr &Expr) const override
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:47
This class implements an extremely fast bulk output stream that can only output to a stream.
Definition: raw_ostream.h:53
@ C
The default llvm calling convention, compatible with C.
Definition: CallingConv.h:34
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18