LLVM 23.0.0git
X86MCAsmInfo.h
Go to the documentation of this file.
1//===-- X86MCAsmInfo.h - X86 asm properties --------------------*- C++ -*--===//
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 declaration of the X86MCAsmInfo class.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCASMINFO_H
14#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCASMINFO_H
15
17#include "llvm/ADT/StringSet.h"
21#include "llvm/MC/MCExpr.h"
22
23namespace llvm {
24class Triple;
25
27 virtual void anchor();
28
29public:
31 explicit X86MCAsmInfoDarwin(const Triple &Triple);
32 bool isValidUnquotedName(StringRef Name) const override;
33};
34
36 explicit X86_64MCAsmInfoDarwin(const Triple &Triple);
37 const MCExpr *
38 getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding,
39 MCStreamer &Streamer) const override;
40};
41
43 void anchor() override;
44
45public:
47 explicit X86ELFMCAsmInfo(const Triple &Triple);
48 bool isValidUnquotedName(StringRef Name) const override;
49};
50
52 void anchor() override;
53
54public:
56 explicit X86MCAsmInfoMicrosoft(const Triple &Triple);
57 bool isValidUnquotedName(StringRef Name) const override;
58};
59
61 void anchor() override;
62
63public:
65};
66
68 void anchor() override;
69
70public:
72 explicit X86MCAsmInfoGNUCOFF(const Triple &Triple);
73 bool isValidUnquotedName(StringRef Name) const override;
74};
75
76namespace X86 {
78
79enum {
82
109};
110} // namespace X86
111} // namespace llvm
112
113#endif
StringSet - A set-like wrapper for the StringMap.
Base class for the full range of assembler expressions which are needed for parsing.
Definition MCExpr.h:34
Streaming machine code generation interface.
Definition MCStreamer.h:222
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition MCSymbol.h:42
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55
StringSet - A wrapper for StringMap that provides set-like functionality.
Definition StringSet.h:25
Triple - Helper class for working with autoconf configuration names.
Definition Triple.h:47
StringSet ReservedIdentifiers
X86ELFMCAsmInfo(const Triple &Triple)
bool isValidUnquotedName(StringRef Name) const override
Return true if the identifier Name does not need quotes to be syntactically correct.
bool isValidUnquotedName(StringRef Name) const override
Return true if the identifier Name does not need quotes to be syntactically correct.
X86MCAsmInfoDarwin(const Triple &Triple)
bool isValidUnquotedName(StringRef Name) const override
Return true if the identifier Name does not need quotes to be syntactically correct.
X86MCAsmInfoGNUCOFF(const Triple &Triple)
X86MCAsmInfoMicrosoftMASM(const Triple &Triple)
bool isValidUnquotedName(StringRef Name) const override
Return true if the identifier Name does not need quotes to be syntactically correct.
X86MCAsmInfoMicrosoft(const Triple &Triple)
Define some predicates that are used for node matching.
uint16_t Specifier
@ S_GOTPCREL_NORELAX
This is an optimization pass for GlobalISel generic memory operations.
const MCExpr * getExprForPersonalitySymbol(const MCSymbol *Sym, unsigned Encoding, MCStreamer &Streamer) const override
X86_64MCAsmInfoDarwin(const Triple &Triple)