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