LLVM 23.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,
24};
25
27public:
28 explicit SystemZMCAsmInfoGOFF(const Triple &TT,
30 bool isAcceptableChar(char C) const override;
32 const MCSpecifierExpr &Expr) const override;
34 const MCAssembler *Asm) const override;
35};
36
37namespace SystemZ {
39enum {
41
51
52 // HLASM docs for address constants:
53 // https://www.ibm.com/docs/en/hla-and-tf/1.6?topic=value-address-constants
54 S_RCon, // Address of ADA of symbol.
55 S_VCon, // Address of external function symbol.
56 S_QCon, // Class-based offset.
57};
58} // namespace SystemZ
59
60} // end namespace llvm
61
62#endif
static LVOptions Options
Definition LVOptions.cpp:25
This file defines certain target specific asm properties for GOFF (z/OS) based targets.
MCAsmInfoELF(const MCTargetOptions &Options)
MCAsmInfoGOFF(const MCTargetOptions &Options)
Extension point for target-specific MCExpr subclasses with a relocation specifier,...
Definition MCExpr.h:495
SystemZMCAsmInfoELF(const Triple &TT, const MCTargetOptions &Options)
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.
SystemZMCAsmInfoGOFF(const Triple &TT, const MCTargetOptions &Options)
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.