llvm-6502/include/llvm/Support
Renato Golin a54f2b87f7 TargetParser: FPU/ARCH/EXT parsing refactory - NFC
This new class in a global context contain arch-specific knowledge in order
to provide LLVM libraries, tools and projects with the ability to understand
the architectures. For now, only FPU, ARCH and ARCH extensions on ARM are
supported.

Current behaviour it to parse from free-text to enum values and back, so that
all users can share the same parser and codes. This simplifies a lot both the
ASM/Obj streamers in the back-end (where this came from), and the front-end
parsers for command line arguments (where this is going to be used next).

The previous implementation, using .def/.h includes is deprecated due to its
inflexibility to be built without the backend support and for being too
cumbersome. As more architectures join this scheme, and as more features of
such architectures are added (such as hardware features, type sizes, etc) into
a full blown TargetDescription class, having a set of classes is the most
sane implementation.

The ultimate goal of this refactor both LLVM's and Clang's target description
classes into one unique interface, so that we can de-duplicate and standardise
the descriptions, as well as make it available for other front-ends, tools,
etc.

The FPU parsing for command line options in Clang has been converted to use
this new library and a number of aliases were added for compatibility:
 * A bogus neon-vfpv3 alias (neon defaults to vfp3)
 * armv5/v6
 * {fp4/fp5}-{sp/dp}-d16

Next steps:
 * Port Clang's ARCH/EXT parsing to use this library.
 * Create a TableGen back-end to generate this information.
 * Run this TableGen process regardless of which back-ends are built.
 * Expose more information and rename it to TargetDescription.
 * Continue re-factoring Clang to use as much of it as possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236900 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-08 21:04:27 +00:00
..
ELFRelocs [mips] Update MIPS relocations list 2015-04-19 20:51:55 +00:00
AIXDataTypesFix.h
AlignOf.h Recommit r235219, it's need for out-of-tree users of AlignOf.h. 2015-04-22 16:43:56 +00:00
Allocator.h [Allocator] Remove memory poisoning before deallocation 2015-04-22 20:56:42 +00:00
ARMBuildAttributes.h [AArch64, ARM] Add v8.1a architecture and generic cpu 2015-03-26 17:05:54 +00:00
ARMEHABI.h
ARMWinEH.h
ArrayRecycler.h
Atomic.h
BlockFrequency.h
BranchProbability.h Fix typo in assert message. NFC. 2015-05-05 18:24:47 +00:00
Capacity.h
Casting.h Support: Add *cast_or_null<> for pointer wrappers 2014-11-24 03:13:02 +00:00
CBindingWrapping.h
circular_raw_ostream.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
CodeGen.h Add Position-independent Code model Module API. 2014-11-07 04:46:10 +00:00
COFF.h Modify llvm-readobj to dump symbol record bytes. 2015-02-18 19:32:05 +00:00
COM.h Make an RAII com initializer. 2015-04-27 17:19:26 +00:00
CommandLine.h Recommit r231221: "Devirtualize ~parser<T> by making it protected in base classes and making derived classes final" 2015-03-04 18:52:32 +00:00
Compiler.h Fix some minor abuse of C++ terminology in comments. 2015-04-07 00:14:27 +00:00
Compression.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
ConvertUTF.h Add a UTF8 to UTF16 conversion wrapper for use in the pdb dumper 2015-01-26 19:51:00 +00:00
CrashRecoveryContext.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
DataExtractor.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
DataStream.h
DataTypes.h.cmake Rename END_WITH_NULL to LLVM_END_WITH_NULL and move to Compiler.h 2014-11-04 01:12:21 +00:00
DataTypes.h.in Rename END_WITH_NULL to LLVM_END_WITH_NULL and move to Compiler.h 2014-11-04 01:12:21 +00:00
Debug.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
DOTGraphTraits.h
Dwarf.def DebugInfo: Drop fake DW_TAG_expression 2015-03-17 21:32:46 +00:00
Dwarf.h Support: Add dwarf::getOperationEncoding() 2015-02-13 01:05:00 +00:00
DynamicLibrary.h
ELF.h [llvm-readobj/obj2yaml/yaml2obj] Support MIPS machine ELF header flags 2015-05-08 07:04:59 +00:00
Endian.h InstrProf: Do a better job of reading coverage mapping data. 2015-03-16 06:55:45 +00:00
EndianStream.h Add support for double / float to EndianStream 2015-02-05 03:30:08 +00:00
Errc.h
Errno.h
ErrorHandling.h
ErrorOr.h Removing LLVM_EXPLICIT, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:00:20 +00:00
FileOutputBuffer.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
FileSystem.h Mark empty default constructors as =default if it makes the type POD 2015-04-11 18:57:14 +00:00
FileUtilities.h Remove many superfluous SmallString::str() calls. 2015-03-18 10:17:07 +00:00
Format.h use = default instead of {} 2015-03-04 07:35:04 +00:00
FormattedStream.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
GCOV.h llvm-cov: Don't use llvm::outs() in library code 2015-01-23 23:09:27 +00:00
GenericDomTree.h Only recalculate DFS Numbers if invalid. Invalidate DFS numbers on reset. Add unit test to verify recalculation 2015-04-14 19:49:26 +00:00
GenericDomTreeConstruction.h Add comment about a gotcha I ran across while touching this code. 2015-01-14 19:59:18 +00:00
GraphWriter.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
Host.h
LEB128.h
LICENSE.TXT
LineIterator.h
Locale.h
LockFileManager.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
MachO.h Another attempt to fix the LLVM Windows build bot lld-x86_64-win7, one last place to fix I think. 2014-12-24 00:16:51 +00:00
ManagedStatic.h
MathExtras.h Added support for building against Android API-9 SDK 2015-05-07 00:05:26 +00:00
MD5.h
Memory.h
MemoryBuffer.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
MemoryObject.h Update \param(s) in MemoryObject::readBytes(). [-Wdocumentation] 2014-11-13 04:56:41 +00:00
MipsABIFlags.h [MIPS] Move MIPS ABI flags structure constants to the separate header 2015-05-07 14:57:04 +00:00
Mutex.h Silence clang warning: private field 'data_' is not used. 2015-04-24 15:10:15 +00:00
MutexGuard.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
OnDiskHashTable.h Make OnDiskChainedHashTableGenerator's Bucket type a POD type and reorder fields to optimize padding 2015-04-11 18:00:28 +00:00
Options.h Correct 'teh' and other typos / repeated words. 2015-04-14 20:52:58 +00:00
OutputBuffer.h
Path.h
PluginLoader.h
PointerLikeTypeTraits.h
PrettyStackTrace.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
Process.h Remove dead code. NFC. 2014-12-04 16:59:36 +00:00
Program.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
RandomNumberGenerator.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
raw_os_ostream.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
raw_ostream.h Relax assert to avoid spurious failures with /dev/null. 2015-04-29 14:53:25 +00:00
Recycler.h
RecyclingAllocator.h
Regex.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
Registry.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
RegistryParser.h
RWMutex.h Silence clang warning: private field 'data_' is not used. 2015-04-24 15:10:15 +00:00
SaveAndRestore.h
ScaledNumber.h Fix infinite recursion in ScaledNumber::toInt. 2015-05-01 17:59:15 +00:00
Signals.h Add boolean to PrintStackTraceOnErrorSignal to disable crash reporting. 2015-04-07 20:43:23 +00:00
SMLoc.h
Solaris.h
SourceMgr.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
SpecialCaseList.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
StreamingMemoryObject.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
StringPool.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
SwapByteOrder.h Add code to llvm-objdump so the -section option with -macho will dump literal 2015-02-06 23:25:38 +00:00
SystemUtils.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
TargetParser.h TargetParser: FPU/ARCH/EXT parsing refactory - NFC 2015-05-08 21:04:27 +00:00
TargetRegistry.h Use raw_pwrite_stream in the object writer/streamer. 2015-04-14 22:14:34 +00:00
TargetSelect.h
Threading.h Added comment about llvm_execute_on_thread waiting for thread to complete. 2014-11-24 14:51:41 +00:00
ThreadLocal.h ThreadLocal: Return a mutable pointer if templated with a non-const type 2014-12-15 01:04:45 +00:00
Timer.h Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
TimeValue.h
ToolOutputFile.h Don't repeat names in comments. NFC. 2015-04-08 13:52:09 +00:00
type_traits.h Put MSVC back into the dumb compiler's corner. 2015-02-20 16:35:42 +00:00
Unicode.h
UnicodeCharRanges.h Make VTs and UnicodeCharSet ctors constexpr if the compiler supports it. 2015-03-01 18:10:07 +00:00
UniqueLock.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
Valgrind.h
Watchdog.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
Win64EH.h
WindowsError.h
YAMLParser.h YAML: Enable the YAMLParser tests. 2015-05-07 18:08:46 +00:00
YAMLTraits.h YAML: Add an optional 'flow' field to the mapping trait to allow flow mapping output. 2015-05-04 20:11:40 +00:00