llvm-6502/include/llvm/MC
Rafael Espindola 0ba7ba487d Clarify when we can avoid creating names for temp symbols.
Some temporary symbols are created by MC itself. These symbols are never used
for lookup and are never included in the object symbol table, so we can
avoid creating a name for them.

Other temporaries are created by CodeGen or by the user by explicitly asking
for a name starting with .L (or L on MachO).

These temporaries behave like regular symbols, we just try to avoid including
them in the object symbol table, but sometimes they end up there:

const char *foo() {
  return "abc" + 3;
}

will have a relocation pointing to a .L symbol.

It just so happens that almost all MC created temporary has the AlwaysAddSuffix
option and CodeGen/user created ones don't.

One interesting future optimization would be to use unnamed symbols for
all temporaries, but that would require use an st_name of 0 or
having the object writer create the names if a symbol does end up in the
symbol table.

No testcase since this just avoid creating a few extra names for MC created
temporaries.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238887 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-02 22:52:13 +00:00
..
MCParser Add missing #includes, found by modules build. 2015-05-11 22:31:40 +00:00
ConstantPools.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
MachineLocation.h Add inequality operator for MachineLocation. 2014-04-01 21:54:52 +00:00
MCAsmBackend.h [MC] Allow backends to decide relaxation for unresolved fixups. 2015-05-30 18:42:22 +00:00
MCAsmInfo.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
MCAsmInfoCOFF.h [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-08 07:02:02 +00:00
MCAsmInfoDarwin.h Recommit r224935 with a fix for the ObjC++/AArch64 bug that that revision 2015-01-09 18:55:42 +00:00
MCAsmInfoELF.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
MCAsmLayout.h Merge MCSymbol and MCSymbolData. 2015-05-29 20:31:23 +00:00
MCAssembler.h The fragment implies the section, don't store both. 2015-06-01 14:34:40 +00:00
MCCodeEmitter.h MC: clang-format. NFC. 2015-05-15 19:13:20 +00:00
MCCodeGenInfo.h MC: MCCodeGenInfo naming update. NFC. 2015-05-15 19:13:31 +00:00
MCContext.h Clarify when we can avoid creating names for temp symbols. 2015-06-02 22:52:13 +00:00
MCDirectives.h Darwin: Add assembler directives to create version-min load commands. 2014-03-18 22:09:05 +00:00
MCDisassembler.h Remove unused MCRelocationInfo.h include from MCDisassembler.h. NFC 2015-05-19 18:18:49 +00:00
MCDwarf.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
MCELFObjectWriter.h Merge MCELF.h into MCSymbolELF.h. 2015-06-02 20:38:46 +00:00
MCELFStreamer.h Create a MCSymbolELF. 2015-06-02 00:25:12 +00:00
MCELFSymbolFlags.h Remove the MCSymbolData typedef. 2015-05-29 20:41:47 +00:00
MCExpr.h MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
MCExternalSymbolizer.h Remove redundant symbolization support from MCDisassembler interface. 2014-04-11 20:07:58 +00:00
MCFixedLenDisassembler.h
MCFixup.h MC: Update MCFixup naming. NFC. 2015-05-15 19:13:05 +00:00
MCFixupKindInfo.h MC: Tidy up comments and clean up formatting a bit. NFC. 2015-05-02 00:44:14 +00:00
MCInst.h MC: Tidy up formatting a bit. NFC. 2015-06-01 23:55:02 +00:00
MCInstBuilder.h MC: Modernize MCOperand API naming. NFC. 2015-05-13 18:37:00 +00:00
MCInstPrinter.h MC: Tidy up formatting a bit. NFC. 2015-06-01 23:55:02 +00:00
MCInstrAnalysis.h MC: Tidy up comments and clean up formatting a bit. NFC. 2015-05-02 00:44:14 +00:00
MCInstrDesc.h Add support for the convergent flag at the MC and MachineInstr levels. 2015-05-28 18:33:39 +00:00
MCInstrInfo.h MC: Tidy up comments and clean up formatting a bit. NFC. 2015-05-02 00:44:14 +00:00
MCInstrItineraries.h MC: Tidy up comments and clean up formatting a bit. NFC. 2015-05-02 00:44:14 +00:00
MCLabel.h MC: Tidy up formatting a bit. NFC. 2015-06-01 23:55:02 +00:00
MCLinkerOptimizationHint.h MC: Tidy up LOH naming a bit. NFC. 2015-06-01 23:55:06 +00:00
MCMachObjectWriter.h Stop using MCSectionData in MCMachObjectWriter.h. 2015-05-26 01:15:30 +00:00
MCMachOSymbolFlags.h
MCObjectFileInfo.h [WinCOFF] Add support for the .safeseh directive 2015-05-30 04:56:02 +00:00
MCObjectStreamer.h Rename getOrCreateSymbolData to registerSymbol and return void. 2015-05-29 20:21:02 +00:00
MCObjectWriter.h Merge MCSymbol and MCSymbolData. 2015-05-29 20:31:23 +00:00
MCRegisterInfo.h MCRegisterInfo: Add MCSubRegIndexIterator. 2014-12-10 01:13:06 +00:00
MCRelocationInfo.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
MCSchedule.h typos 2014-10-07 17:00:16 +00:00
MCSection.h Store a bit in MCSection saying if it was registered with MCAssembler. 2015-06-01 01:30:01 +00:00
MCSectionCOFF.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MCSectionELF.h Pass a MCSymbolELF to a few ELF only functions. NFC. 2015-06-02 21:30:13 +00:00
MCSectionMachO.h Create symbols marking the start of a section earlier. 2015-03-10 22:00:25 +00:00
MCStreamer.h Create a MCSymbolELF. 2015-06-02 00:25:12 +00:00
MCSubtargetInfo.h Use std::bitset for SubtargetFeatures. 2015-05-26 10:47:10 +00:00
MCSymbol.h Create a MCSymbolELF. 2015-06-02 00:25:12 +00:00
MCSymbolELF.h Merge MCELF.h into MCSymbolELF.h. 2015-06-02 20:38:46 +00:00
MCSymbolizer.h MC: Tidy up comments and clean up formatting a bit. NFC. 2015-05-02 00:44:14 +00:00
MCTargetAsmParser.h Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
MCTargetOptions.h Migrate ABIName to MCTargetOptions so that it can be shared between 2015-01-14 00:50:31 +00:00
MCTargetOptionsCommandFlags.h [cleanup] Re-sort all the #include lines in LLVM using 2015-01-14 11:23:27 +00:00
MCValue.h MC: Tidy up comments and clean up formatting a bit. NFC. 2015-05-02 00:44:14 +00:00
MCWin64EH.h MC: split Win64EHUnwindEmitter into a shared streamer 2014-08-07 02:59:41 +00:00
MCWinCOFFObjectWriter.h Use raw_pwrite_stream in the object writer/streamer. 2015-04-14 22:14:34 +00:00
MCWinCOFFStreamer.h Create a MCSymbolELF. 2015-06-02 00:25:12 +00:00
MCWinEH.h Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
SectionKind.h Remove MergeableConst. 2015-01-29 14:12:41 +00:00
StringTableBuilder.h Remove StringMap::GetOrCreateValue in favor of StringMap::insert 2014-11-19 05:49:42 +00:00
SubtargetFeature.h Use std::bitset for SubtargetFeatures. 2015-05-26 10:47:10 +00:00
YAML.h Invert the MC -> Object dependency. 2014-07-03 02:01:39 +00:00