LLVM  13.0.0git
SystemZMCAsmInfo.cpp
Go to the documentation of this file.
1 //===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//
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 #include "SystemZMCAsmInfo.h"
10 #include "llvm/MC/MCContext.h"
11 #include "llvm/MC/MCSectionELF.h"
12 
13 using namespace llvm;
14 
16  CodePointerSize = 8;
18  IsLittleEndian = false;
19 
20  AssemblerDialect = TT.isOSzOS() ? AD_HLASM : AD_ATT;
21 
22  MaxInstLength = 6;
23 
24  CommentString = AssemblerDialect == AD_HLASM ? "*" : "#";
35 
36  ZeroDirective = "\t.space\t";
37  Data64bitsDirective = "\t.quad\t";
41 }
42 
44  if (AssemblerDialect == AD_ATT)
46 
47  return MCAsmInfo::isAcceptableChar(C) || C == '#';
48 }
llvm::MCAsmInfo::isAcceptableChar
virtual bool isAcceptableChar(char C) const
Return true if C is an acceptable character inside a symbol name.
Definition: MCAsmInfo.cpp:116
llvm
---------------------— PointerInfo ------------------------------------—
Definition: AllocatorList.h:23
llvm::MCAsmInfo::RestrictCommentStringToStartOfStatement
bool RestrictCommentStringToStartOfStatement
This indicates whether the comment string is only accepted as a comment at the beginning of statement...
Definition: MCAsmInfo.h:139
MCSectionELF.h
llvm::MCAsmInfo::SupportsDebugInformation
bool SupportsDebugInformation
True if target supports emission of debugging information.
Definition: MCAsmInfo.h:445
llvm::Triple
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:45
llvm::MCAsmInfo::UsesELFSectionDirectiveForBSS
bool UsesELFSectionDirectiveForBSS
This is true if this target uses ELF '.section' directive before the '.bss' one.
Definition: MCAsmInfo.h:319
llvm::MCAsmInfo::Data64bitsDirective
const char * Data64bitsDirective
Definition: MCAsmInfo.h:288
llvm::MCAsmInfo::AllowAtInName
bool AllowAtInName
This is true if the assembler allows @ characters in symbol names.
Definition: MCAsmInfo.h:197
C
(vector float) vec_cmpeq(*A, *B) C
Definition: README_ALTIVEC.txt:86
MCContext.h
llvm::AD_ATT
@ AD_ATT
Definition: SystemZMCAsmInfo.h:17
llvm::MCAsmInfo::AllowHashAtStartOfIdentifier
bool AllowHashAtStartOfIdentifier
This is true if the assembler allows the "#" character at the start of a string to be lexed as an Asm...
Definition: MCAsmInfo.h:225
llvm::SystemZMCAsmInfo::isAcceptableChar
bool isAcceptableChar(char C) const override
Return true if C is an acceptable character inside a symbol name.
Definition: SystemZMCAsmInfo.cpp:43
llvm::SystemZMCAsmInfo::SystemZMCAsmInfo
SystemZMCAsmInfo(const Triple &TT)
Definition: SystemZMCAsmInfo.cpp:15
llvm::MCAsmInfo::CommentString
StringRef CommentString
This indicates the comment string used by the assembler.
Definition: MCAsmInfo.h:135
llvm::MCAsmInfo::CodePointerSize
unsigned CodePointerSize
Code pointer size in bytes. Default is 4.
Definition: MCAsmInfo.h:72
llvm::MCAsmInfo::ZeroDirective
const char * ZeroDirective
This should be set to the directive used to get some number of zero (and non-zero if supported by the...
Definition: MCAsmInfo.h:249
llvm::MCAsmInfo::AssemblerDialect
unsigned AssemblerDialect
Which dialect of an assembler variant to use. Defaults to 0.
Definition: MCAsmInfo.h:193
llvm::MCAsmInfo::AllowDollarAtStartOfIdentifier
bool AllowDollarAtStartOfIdentifier
This is true if the assembler allows the "$" character at the start of of a string to be lexed as an ...
Definition: MCAsmInfo.h:211
llvm::AD_HLASM
@ AD_HLASM
Definition: SystemZMCAsmInfo.h:17
llvm::MCAsmInfo::AllowAtAtStartOfIdentifier
bool AllowAtAtStartOfIdentifier
This is true if the assembler allows the "@" character at the start of a string to be lexed as an Asm...
Definition: MCAsmInfo.h:218
llvm::MCAsmInfo::StarIsPC
bool StarIsPC
Whether the '*' token refers to the current PC.
Definition: MCAsmInfo.h:127
llvm::MCAsmInfo::CalleeSaveStackSlotSize
unsigned CalleeSaveStackSlotSize
Size of the stack slot reserved for callee-saved registers, in bytes.
Definition: MCAsmInfo.h:76
llvm::MCAsmInfo::EmitLabelsInUpperCase
bool EmitLabelsInUpperCase
Emit labels in purely upper case. Defaults to false.
Definition: MCAsmInfo.h:157
llvm::MCAsmInfo::DotIsPC
bool DotIsPC
Allow '.
Definition: MCAsmInfo.h:123
llvm::MCAsmInfo::MaxInstLength
unsigned MaxInstLength
This is the maximum possible length of an instruction, which is needed to compute the size of an inli...
Definition: MCAsmInfo.h:111
llvm::MCAsmInfo::ExceptionsType
ExceptionHandling ExceptionsType
Exception handling format for the target. Defaults to None.
Definition: MCAsmInfo.h:448
llvm::MCAsmInfo::EmitGNUAsmStartIndentationMarker
bool EmitGNUAsmStartIndentationMarker
Should we emit the '\t' as the starting indentation marker for GNU inline asm statements.
Definition: MCAsmInfo.h:151
llvm::MCAsmInfo::AllowAdditionalComments
bool AllowAdditionalComments
This indicates whether to allow additional "comment strings" to be lexed as a comment.
Definition: MCAsmInfo.h:147
llvm::ExceptionHandling::DwarfCFI
@ DwarfCFI
DWARF-like instruction based exceptions.
llvm::MCAsmInfo::IsLittleEndian
bool IsLittleEndian
True if target is little endian. Default is true.
Definition: MCAsmInfo.h:79
SystemZMCAsmInfo.h