xref: /freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp (revision ee0fe82ee2892f5ece189db0eab38913aaab5f0f)
1 //===-- LanaiMCAsmInfo.cpp - Lanai 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 LanaiMCAsmInfo properties.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #include "LanaiMCAsmInfo.h"
14 
15 #include "llvm/ADT/Triple.h"
16 
17 using namespace llvm;
18 
19 void LanaiMCAsmInfo::anchor() {}
20 
21 LanaiMCAsmInfo::LanaiMCAsmInfo(const Triple & /*TheTriple*/) {
22   IsLittleEndian = false;
23   PrivateGlobalPrefix = ".L";
24   WeakRefDirective = "\t.weak\t";
25   ExceptionsType = ExceptionHandling::DwarfCFI;
26 
27   // Lanai assembly requires ".section" before ".bss"
28   UsesELFSectionDirectiveForBSS = true;
29 
30   // Use the integrated assembler instead of system one.
31   UseIntegratedAssembler = true;
32 
33   // Use '!' as comment string to correspond with old toolchain.
34   CommentString = "!";
35 
36   // Target supports emission of debugging information.
37   SupportsDebugInformation = true;
38 
39   // Set the instruction alignment. Currently used only for address adjustment
40   // in dwarf generation.
41   MinInstAlignment = 4;
42 }
43