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 15 SystemZMCAsmInfo::SystemZMCAsmInfo(const Triple &TT) { 16 CodePointerSize = 8; 17 CalleeSaveStackSlotSize = 8; 18 IsLittleEndian = false; 19 20 AssemblerDialect = TT.isOSzOS() ? AD_HLASM : AD_ATT; 21 22 MaxInstLength = 6; 23 24 CommentString = AssemblerDialect == AD_HLASM ? "*" : "#"; 25 RestrictCommentStringToStartOfStatement = (AssemblerDialect == AD_HLASM); 26 AllowAdditionalComments = (AssemblerDialect == AD_ATT); 27 ZeroDirective = "\t.space\t"; 28 Data64bitsDirective = "\t.quad\t"; 29 UsesELFSectionDirectiveForBSS = true; 30 SupportsDebugInformation = true; 31 ExceptionsType = ExceptionHandling::DwarfCFI; 32 } 33