forked from OSchip/llvm-project
![]() Summary: Many directives are unavailable, and support for others may be limited. This first draft has preliminary support for: - conditional directives (including errors), - data allocation (unsigned types up to 8 bytes, and ALIGN), - equates/variables (numeric and text), - and procedure directives (without parameters), as well as COMMENT, ECHO, INCLUDE, INCLUDELIB, PUBLIC, and EXTERN. Text variables (aka text macros) are expanded in-place wherever the identifier occurs. We deliberately ignore all ml.exe processor directives. Prominent features not yet supported: - structs - macros (both procedures and functions) - procedures (with specified parameters) - substitution & expansion operators Conditional directives are complicated by the fact that "ifdef rax" is a valid way to check if a file is being assembled for a 64-bit x86 processor; we add support for "ifdef <register>" in general, which requires adding a tryParseRegister method to all MCTargetAsmParsers. (Some targets require backtracking in the non-register case.) Reviewers: rnk, thakis Reviewed By: thakis Subscribers: kerbowa, merge_guards_bot, wuzish, arsenm, dschuff, jyknight, dylanmckay, sdardis, nemanjai, jvesely, mgorny, sbc100, jgravelle-google, hiraditya, aheejin, kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Jim, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D72680 |
||
---|---|---|
.. | ||
MCDisassembler | ||
MCParser | ||
CMakeLists.txt | ||
ConstantPools.cpp | ||
ELFObjectWriter.cpp | ||
LLVMBuild.txt | ||
MCAsmBackend.cpp | ||
MCAsmInfo.cpp | ||
MCAsmInfoCOFF.cpp | ||
MCAsmInfoDarwin.cpp | ||
MCAsmInfoELF.cpp | ||
MCAsmInfoWasm.cpp | ||
MCAsmInfoXCOFF.cpp | ||
MCAsmMacro.cpp | ||
MCAsmStreamer.cpp | ||
MCAssembler.cpp | ||
MCCodeEmitter.cpp | ||
MCCodeView.cpp | ||
MCContext.cpp | ||
MCDwarf.cpp | ||
MCELFObjectTargetWriter.cpp | ||
MCELFStreamer.cpp | ||
MCExpr.cpp | ||
MCFragment.cpp | ||
MCInst.cpp | ||
MCInstPrinter.cpp | ||
MCInstrAnalysis.cpp | ||
MCInstrDesc.cpp | ||
MCLabel.cpp | ||
MCLinkerOptimizationHint.cpp | ||
MCMachOStreamer.cpp | ||
MCMachObjectTargetWriter.cpp | ||
MCNullStreamer.cpp | ||
MCObjectFileInfo.cpp | ||
MCObjectStreamer.cpp | ||
MCObjectWriter.cpp | ||
MCRegisterInfo.cpp | ||
MCSchedule.cpp | ||
MCSection.cpp | ||
MCSectionCOFF.cpp | ||
MCSectionELF.cpp | ||
MCSectionMachO.cpp | ||
MCSectionWasm.cpp | ||
MCSectionXCOFF.cpp | ||
MCStreamer.cpp | ||
MCSubtargetInfo.cpp | ||
MCSymbol.cpp | ||
MCSymbolELF.cpp | ||
MCTargetOptions.cpp | ||
MCValue.cpp | ||
MCWasmObjectTargetWriter.cpp | ||
MCWasmStreamer.cpp | ||
MCWin64EH.cpp | ||
MCWinCOFFStreamer.cpp | ||
MCWinEH.cpp | ||
MCXCOFFObjectTargetWriter.cpp | ||
MCXCOFFStreamer.cpp | ||
MachObjectWriter.cpp | ||
StringTableBuilder.cpp | ||
SubtargetFeature.cpp | ||
WasmObjectWriter.cpp | ||
WinCOFFObjectWriter.cpp | ||
XCOFFObjectWriter.cpp |