llvm-mirror/lib/MC
Martin Storsjö 1137641bfa [AArch64] Generate and parse SEH assembly directives
This ensures that you get the same output regardless if generating
code directly to an object file or if generating assembly and
assembling that.

Add implementations of the EmitARM64WinCFI*() methods in
AArch64TargetAsmStreamer, and fill in one blank in MCAsmStreamer.

Add corresponding directive handlers in AArch64AsmParser and
COFFAsmParser.

Some SEH directive names have been picked to match the prior art
for SEH assembly directives for x86_64, e.g. the spelling of
".seh_startepilogue" matching the preexisting ".seh_endprologue".

For the directives for saving registers, the exact spelling
from the arm64 documentation is picked, e.g. ".seh_save_reg" (to follow
that naming for all the other ones, e.g. ".seh_save_fregp_x"), while
the corresponding one for x86_64 is plain ".seh_savereg" without the
second underscore.

Directives in the epilogues have the same names as in prologues,
e.g. .seh_savereg, even though the registers are restored, not
saved, at that point.

Differential Revision: https://reviews.llvm.org/D86529
2020-08-29 15:15:22 +03:00
..
MCDisassembler Make helpers static. NFC. 2020-07-09 13:48:56 +02:00
MCParser [AArch64] Generate and parse SEH assembly directives 2020-08-29 15:15:22 +03:00
CMakeLists.txt
ConstantPools.cpp
ELFObjectWriter.cpp Revert "Reland D64327 [MC][ELF] Allow STT_SECTION referencing SHF_MERGE on REL targets" 2020-08-07 10:56:33 -07:00
LLVMBuild.txt
MachObjectWriter.cpp
MCAsmBackend.cpp
MCAsmInfo.cpp
MCAsmInfoCOFF.cpp
MCAsmInfoDarwin.cpp
MCAsmInfoELF.cpp
MCAsmInfoWasm.cpp
MCAsmInfoXCOFF.cpp [XCOFF][AIX] Give symbol an internal name when desired symbol name contains invalid character(s) 2020-07-06 15:49:15 +00:00
MCAsmMacro.cpp
MCAsmStreamer.cpp [AArch64] Generate and parse SEH assembly directives 2020-08-29 15:15:22 +03:00
MCAssembler.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCCodeEmitter.cpp
MCCodeView.cpp
MCContext.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCDwarf.cpp [MC] Rename a misnamed function. NFC. 2020-06-18 20:18:19 +07:00
MCELFObjectTargetWriter.cpp
MCELFStreamer.cpp Clean up warnings after a2c8cd18128d3529992a86998d2bea80cceafff0 2020-04-30 17:01:30 +02:00
MCExpr.cpp [PowerPC][PCRelative] Thread Local Storage Support for Initial Exec 2020-08-21 10:13:11 -05:00
MCFragment.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCInst.cpp
MCInstPrinter.cpp
MCInstrAnalysis.cpp [MC] Move MCInstrAnalysis::evaluateBranch to X86MCInstrAnalysis::evaluateBranch 2020-04-29 23:23:52 -07:00
MCInstrDesc.cpp
MCInstrInfo.cpp
MCLabel.cpp
MCLinkerOptimizationHint.cpp
MCMachObjectTargetWriter.cpp
MCMachOStreamer.cpp Clean up warnings after a2c8cd18128d3529992a86998d2bea80cceafff0 2020-04-30 17:01:30 +02:00
MCNullStreamer.cpp
MCObjectFileInfo.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCObjectStreamer.cpp [X86] support .nops directive 2020-08-03 11:50:56 -07:00
MCObjectWriter.cpp
MCRegisterInfo.cpp
MCSchedule.cpp
MCSection.cpp
MCSectionCOFF.cpp
MCSectionELF.cpp [MC] Set sh_link to 0 if the associated symbol is undefined 2020-08-03 13:43:48 -07:00
MCSectionMachO.cpp
MCSectionWasm.cpp MCSectionWasm.h - reduce includes to forward declarations. NFC. 2020-06-27 10:03:34 +01:00
MCSectionXCOFF.cpp [XCOFF][AIX] Use TE storage mapping class when large code model is enabled 2020-08-10 19:52:10 +00:00
MCStreamer.cpp [MC] [Win64EH] Fill in FuncletOrFuncEnd if missing 2020-08-29 15:15:22 +03:00
MCSubtargetInfo.cpp [X86][MC][Target] Initial backend support a tune CPU to support -mtune 2020-08-14 15:31:50 -07:00
MCSymbol.cpp
MCSymbolELF.cpp
MCSymbolXCOFF.cpp [AIX][XCOFF] change the operand of branch instruction from symbol name to qualified symbol name for function declarations 2020-08-11 15:26:19 -04:00
MCTargetOptions.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCTargetOptionsCommandFlags.cpp [MC] Add --dwarf64 to generate DWARF64 debug info [1/7] 2020-06-16 15:50:13 +07:00
MCValue.cpp
MCWasmObjectTargetWriter.cpp
MCWasmStreamer.cpp
MCWin64EH.cpp [MC] [Win64EH] Fill in FuncletOrFuncEnd if missing 2020-08-29 15:15:22 +03:00
MCWinCOFFStreamer.cpp [COFF] Add cg_profile directive and .llvm.call-graph-profile section 2020-07-10 17:07:30 -07:00
MCWinEH.cpp
MCXCOFFObjectTargetWriter.cpp
MCXCOFFStreamer.cpp [AIX] supporting the visibility attribute for aix assembly 2020-06-09 16:15:06 -04:00
StringTableBuilder.cpp
SubtargetFeature.cpp
WasmObjectWriter.cpp [WebAssembly] 64-bit (function) pointer fixes. 2020-07-16 14:10:22 -07:00
WinCOFFObjectWriter.cpp [MC] [COFF] Make sure that weak external symbols are undefined symbols 2020-07-24 22:15:08 +03:00
XCOFFObjectWriter.cpp Revert "[AIX][XCOFF] emit symbol visibility for xcoff object file." 2020-08-27 11:07:58 -04:00