[SystemZ] Introducing assembler dialects for the Z backend
authorAnirudh Prasad <Anirudh.Prasad@ibm.com>
Fri, 26 Feb 2021 19:19:40 +0000 (14:19 -0500)
committerKai Nacke <kai@redstar.de>
Fri, 26 Feb 2021 20:14:38 +0000 (15:14 -0500)
commitbcc1aba6c4ee657840a306eadafa371cecd6a957
tree45eb39b7ae93326b740fc86d69bcf3bc5d862ead
parent6de6455752c139bd3f13443be6a5046e9199f037
[SystemZ] Introducing assembler dialects for the Z backend

- This patch introduces a different assembler dialect ("hlasm") for z/OS.
  The default dialect has now been given the "att" dialect name. For this
  appropriate changes have been added to SystemZ.td.
- This patch also makes a few changes to SystemZInstrFormats.td which
  restrict a few condition code mnemonics to just the "att" dialect
  variant (he, le, lh, nhe, nle, nlh). These extended condition code
  mnemonics are not available in HLASM.
- A new private function has been introduced in SystemZAsmParser.cpp to
  return the assembler dialect set in SystemZMCAsmInfo.cpp. The reason we
  couldn't/haven't explicitly queried the overriden getAssemblerDialect
  function from AsmParser is outlined in this thread here. This returned
  dialect is directly passed onto the relevant matcher functions which taken
  in a variantID, so that the matcher functions can appropriately choose an
  instruction based on the variant.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D94250
llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
llvm/lib/Target/SystemZ/SystemZ.td
llvm/lib/Target/SystemZ/SystemZInstrFormats.td