[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
Showing
- include/clang/Basic/DiagnosticDriverKinds.td 1 addition, 0 deletionsinclude/clang/Basic/DiagnosticDriverKinds.td
- lib/Basic/Targets.cpp 0 additions, 20 deletionslib/Basic/Targets.cpp
- lib/Driver/ToolChains.cpp 0 additions, 5 deletionslib/Driver/ToolChains.cpp
- lib/Driver/Tools.cpp 131 additions, 41 deletionslib/Driver/Tools.cpp
- test/CodeGen/arm_acle.c 1 addition, 1 deletiontest/CodeGen/arm_acle.c
- test/Driver/aarch64-cpus.c 27 additions, 0 deletionstest/Driver/aarch64-cpus.c
- test/Driver/aarch64-mfpu.c 0 additions, 32 deletionstest/Driver/aarch64-mfpu.c
- test/Preprocessor/aarch64-target-features.c 53 additions, 11 deletionstest/Preprocessor/aarch64-target-features.c
Loading
Please register or sign in to comment