OSDN Git Service

[NFC][AArch64] Split out backend features
authorDiogo N. Sampaio <diogo.sampaio@arm.com>
Thu, 6 Dec 2018 15:39:17 +0000 (15:39 +0000)
committerDiogo N. Sampaio <diogo.sampaio@arm.com>
Thu, 6 Dec 2018 15:39:17 +0000 (15:39 +0000)
commita2cb36c541f7ff9c2a192d7d19fd1ddceb606aa4
tree4b4e43ee21c021a5d0dacee1242a0ff4fcb4dc68
parent8c303c35b78bc38802e8d578c78cf4ad9e360e1c
[NFC][AArch64] Split out backend features

This patch splits backend features currently
hidden behind architecture versions.

For example, currently the only way to activate
complex numbers extension is targeting an v8.3
architecture, where after the patch this extension
can be added separately.

This refactoring is required by the new command lines proposal:
http://lists.llvm.org/pipermail/llvm-dev/2018-September/126346.html

Reviewers: DavidSpickett, olista01, t.p.northover

Subscribers: kristof.beyls, bryanpkc, javed.absar, pbarrio

Differential revision: https://reviews.llvm.org/D54633

--

It was reverted in rL348249 due a build bot failure in one of the
regression tests:
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win/builds/14386

The problem seems to be that FileCheck behaves
different in windows and linux. This new patch
splits the test file in multiple,
and does more exact pattern matching attempting
to circumvent the issue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348493 91177308-0d34-0410-b5e6-96231b3b80d8
20 files changed:
lib/Target/AArch64/AArch64.td
lib/Target/AArch64/AArch64InstrFormats.td
lib/Target/AArch64/AArch64InstrInfo.td
lib/Target/AArch64/AArch64Subtarget.h
lib/Target/AArch64/AArch64SystemOperands.td
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
test/MC/AArch64/armv8.2a-at.s
test/MC/AArch64/armv8.2a-mmfr2.s [deleted file]
test/MC/AArch64/armv8.2a-persistent-memory.s
test/MC/AArch64/armv8.3a-complex.s
test/MC/AArch64/armv8.3a-complex_bad.s [new file with mode: 0644]
test/MC/AArch64/armv8.3a-complex_missing.s [new file with mode: 0644]
test/MC/AArch64/armv8.3a-complex_nofp16.s [new file with mode: 0644]
test/MC/AArch64/armv8.3a-complex_nofp16_bad.s [new file with mode: 0644]
test/MC/AArch64/armv8.3a-js.s
test/MC/AArch64/armv8.3a-signed-pointer.s
test/MC/AArch64/armv8.4a-flag.s
test/MC/AArch64/armv8.4a-ldst.s
test/MC/AArch64/armv8.4a-tlb.s
test/MC/AArch64/armv8.4a-trace.s