[AArch64] Implement Clang CLI interface proposal about "-march".
authorKevin Qin <Kevin.Qin@arm.com>
Fri, 18 Jul 2014 07:03:22 +0000 (07:03 +0000)
committerKevin Qin <Kevin.Qin@arm.com>
Fri, 18 Jul 2014 07:03:22 +0000 (07:03 +0000)
commit08942b48daa18b6de88e0eb2f0068fbeca98ea57
tree27a06b95fb250da489f7e2294fe0ef0f90fe9070
parent8a0ed0016566434ba605b0ae0fbc275dbe14e323
[AArch64] Implement Clang CLI interface proposal about "-march".

1. Revert "Add default feature for CPUs on AArch64 target in Clang"
at r210625. Then, all enabled feature will by passed explicitly by
-target-feature in -cc1 option.

2. Get "-mfpu" deprecated.

3. Implement support of "-march". Usage is:
    -march=armv8-a+[no]feature
  For instance, "-march=armv8-a+neon+crc+nocrypto". Here "armv8-a" is
  necessary, and CPU names are not acceptable. Candidate features are
  fp, neon, crc and crypto. Where conflicting feature modifiers are
  specified, the right-most feature is used.

4. Implement support of "-mtune". Usage is:
    -march=CPU_NAME
  For instance, "-march=cortex-a57". This option will ONLY get
  micro-architectural feature enabled specifying to target CPU,
  like "+zcm" and "+zcz" for cyclone. Any architectural features
  WON'T be modified.

5. Change usage of "-mcpu" to "-mcpu=CPU_NAME+[no]feature", which is
  an alias to "-march={feature of CPU_NAME}+[no]feature" and
  "-mtune=CPU_NAME" together. Where this option is used in conjunction
  with -march or -mtune, those options take precedence over the
  appropriate part of this option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213353 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticDriverKinds.td
lib/Basic/Targets.cpp
lib/Driver/ToolChains.cpp
lib/Driver/Tools.cpp
test/CodeGen/arm_acle.c
test/Driver/aarch64-cpus.c
test/Driver/aarch64-mfpu.c [deleted file]
test/Preprocessor/aarch64-target-features.c