From 0affa6b4e3ecce721df8af547fec39043406a635 Mon Sep 17 00:00:00 2001 From: Anirudh Prasad Date: Wed, 26 May 2021 10:49:39 -0400 Subject: [PATCH] [SystemZ][z/OS] Enable the AllowAtInName attribute for the HLASM dialect - Currently, LLVM supports symbols of the name "token1@token2". - "token2" is used to identify whether an appropriate symbol reference can be used for the symbol. - Now, if the symbol reference couldn't be found, the AsmParser usually emits an error, unless the backend is configured to accept the "@" in a symbol name - Thus, this patch aims to do that. It sets the `AllowAtInName` attribute in the SystemZ backend for the HLASM dialect. - Setting this attribute ensures that, if a particular symbol reference is found, it uses that. If it doesn't, and there exists an "@" in the symbol name, it will use that instead of explicitly erroring out. Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D103111 --- lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp b/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp index 61fe2f4a5fd..2d625585391 100644 --- a/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp +++ b/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp @@ -30,6 +30,7 @@ SystemZMCAsmInfo::SystemZMCAsmInfo(const Triple &TT) { DotIsPC = (AssemblerDialect == AD_ATT); StarIsPC = (AssemblerDialect == AD_HLASM); EmitGNUAsmStartIndentationMarker = (AssemblerDialect == AD_ATT); + AllowAtInName = (AssemblerDialect == AD_HLASM); ZeroDirective = "\t.space\t"; Data64bitsDirective = "\t.quad\t";