xref: /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
1 //===-- HexagonMCAsmInfo.cpp - Hexagon 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 // This file contains the declarations of the HexagonMCAsmInfo properties.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #include "HexagonMCAsmInfo.h"
14 
15 using namespace llvm;
16 
17 // Pin the vtable to this file.
18 void HexagonMCAsmInfo::anchor() {}
19 
20 HexagonMCAsmInfo::HexagonMCAsmInfo(const Triple &TT) {
21   Data16bitsDirective = "\t.half\t";
22   Data32bitsDirective = "\t.word\t";
23   Data64bitsDirective = nullptr;  // .xword is only supported by V9.
24   CommentString = "//";
25   SupportsDebugInformation = true;
26 
27   LCOMMDirectiveAlignmentType = LCOMM::ByteAlignment;
28   InlineAsmStart = "# InlineAsm Start";
29   InlineAsmEnd = "# InlineAsm End";
30   ZeroDirective = "\t.space\t";
31   AscizDirective = "\t.string\t";
32 
33   MinInstAlignment = 4;
34   UsesELFSectionDirectiveForBSS  = true;
35   ExceptionsType = ExceptionHandling::DwarfCFI;
36   UseLogicalShr = false;
37 }
38