llvm-project/llvm/lib/Target/ARM/MCTargetDesc
Florian Hahn 67ddd1d08f [TargetParser] Use enum classes for various ARM kind enums.
Summary:
Using c++11 enum classes ensures that only valid enum values are used
for ArchKind, ProfileKind, VersionKind and ISAKind. This removes the
need for checks that the provided values map to a proper enum value,
allows us to get rid of AK_LAST and prevents comparing values from
different enums. It also removes a bunch of static_cast
from unsigned to enum values and vice versa, at the cost of introducing
static casts to access AArch64ARCHNames and ARMARCHNames by ArchKind.

FPUKind and ArchExtKind are the only remaining old-style enum in
TargetParser.h. I think it's beneficial to keep ArchExtKind as old-style
enum, but FPUKind can be converted too, but this patch is quite big, so
could do this in a follow-up patch. I could also split this patch up a
bit, if people would prefer that.

Reviewers: rengolin, javed.absar, chandlerc, rovka

Reviewed By: rovka

Subscribers: aemerson, kristof.beyls, llvm-commits

Differential Revision: https://reviews.llvm.org/D35882

llvm-svn: 309287
2017-07-27 16:27:56 +00:00
..
ARMAddressingModes.h
ARMAsmBackend.cpp [TargetParser] Use enum classes for various ARM kind enums. 2017-07-27 16:27:56 +00:00
ARMAsmBackend.h Fully fix the movw/movt addend. 2017-07-11 23:18:25 +00:00
ARMAsmBackendDarwin.h Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
ARMAsmBackendELF.h
ARMAsmBackendWinCOFF.h
ARMBaseInfo.h [ARM] Make RWPI use movw/movt when available 2017-02-07 13:07:12 +00:00
ARMELFObjectWriter.cpp Simplify. NFC. 2017-07-26 17:27:27 +00:00
ARMELFStreamer.cpp [TargetParser] Use enum classes for various ARM kind enums. 2017-07-27 16:27:56 +00:00
ARMFixupKinds.h Don't repeat names and reformat. NFC. 2017-06-28 16:00:16 +00:00
ARMMCAsmInfo.cpp Remove Bitrig: LLVM Changes 2017-07-21 22:48:47 +00:00
ARMMCAsmInfo.h
ARMMCCodeEmitter.cpp [ARM] Support fixup for Thumb2 modified immediate 2017-06-05 09:37:12 +00:00
ARMMCExpr.cpp
ARMMCExpr.h
ARMMCTargetDesc.cpp [TargetParser] Use enum classes for various ARM kind enums. 2017-07-27 16:27:56 +00:00
ARMMCTargetDesc.h Move the global variables representing each Target behind accessor function 2016-10-09 23:00:34 +00:00
ARMMachORelocationInfo.cpp Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ARMMachObjectWriter.cpp Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
ARMTargetStreamer.cpp [TargetParser] Use enum classes for various ARM kind enums. 2017-07-27 16:27:56 +00:00
ARMUnwindOpAsm.cpp [ARM] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-31 00:56:17 +00:00
ARMUnwindOpAsm.h [ARM] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-31 00:56:17 +00:00
ARMWinCOFFObjectWriter.cpp COFF: Produce an error on invalid pcrel relocs. 2017-06-23 04:07:44 +00:00
ARMWinCOFFStreamer.cpp
CMakeLists.txt
LLVMBuild.txt