Re: [PATCH] D62133: test/CodeGen/builtin-stackaddress.c duplicates test/CodeGen/2004-02-13-BuiltinFrameReturnAddress.c
Ping? On Mon, May 20, 2019 at 1:43 PM A. Skrobov via Phabricator wrote: > > t.yomitch created this revision. > t.yomitch added reviewers: efriedma, echristo, ddunbar. > Herald added a subscriber: kristina. > Herald added a project: clang. > > Repository: > rC Clang > > https://reviews.llvm.org/D62133 > > Files: > test/CodeGen/builtin-stackaddress.c > > > Index: test/CodeGen/builtin-stackaddress.c > === > --- test/CodeGen/builtin-stackaddress.c > +++ /dev/null > @@ -1,9 +0,0 @@ > -// RUN: %clang_cc1 -emit-llvm < %s | grep "llvm.returnaddress" > -// RUN: %clang_cc1 -emit-llvm < %s | grep "llvm.frameaddress" > -void* a(unsigned x) { > -return __builtin_return_address(0); > -} > - > -void* c(unsigned x) { > -return __builtin_frame_address(0); > -} > > ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r264155 - Combine identical check-prefixes in Clang test/Preprocessor/arm-target-features.c
Author: askrobov Date: Wed Mar 23 08:32:33 2016 New Revision: 264155 URL: http://llvm.org/viewvc/llvm-project?rev=264155=rev Log: Combine identical check-prefixes in Clang test/Preprocessor/arm-target-features.c Reviewers: rengolin, t.p.northover Subscribers: aemerson, cfe-commits, rengolin Differential Revision: http://reviews.llvm.org/D18391 Modified: cfe/trunk/test/Preprocessor/arm-target-features.c Modified: cfe/trunk/test/Preprocessor/arm-target-features.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/arm-target-features.c?rev=264155=264154=264155=diff == --- cfe/trunk/test/Preprocessor/arm-target-features.c (original) +++ cfe/trunk/test/Preprocessor/arm-target-features.c Wed Mar 23 08:32:33 2016 @@ -55,45 +55,24 @@ // Check that -mhwdiv works properly for armv8/thumbv8 (enabled by default). -// RUN: %clang -target armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8 %s -// ARMV8:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8 -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8 %s -// THUMBV8:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8-EABI %s -// ARMV8-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8-eabi -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8-EABI %s -// THUMBV8-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NONEHWDIV-ARMV8 %s -// NONEHWDIV-ARMV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8 -mthumb -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NONEHWDIV-THUMBV8 %s -// NONEHWDIV-THUMBV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARMV8 %s -// THUMBHWDIV-ARMV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8 -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMBV8 %s -// ARMHWDIV-THUMBV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8a -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8A %s -// ARMV8A:#define __ARM_ARCH_EXT_IDIV__ 1 -// ARMV8A: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A %s -// THUMBV8A:#define __ARM_ARCH_EXT_IDIV__ 1 -// THUMBV8A: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8A-EABI %s -// ARMV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 -// ARMV8A-EABI: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A-EABI %s -// THUMBV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 -// THUMBV8A-EABI: #define __ARM_FP 0xE +// RUN: %clang -target armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// RUN: %clang -target armv8 -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// RUN: %clang -target armv8-eabi -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// V8:#define __ARM_ARCH_EXT_IDIV__ 1 + +// RUN: %clang -target armv8 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mthumb -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// NOHWDIV-V8-NOT:#define __ARM_ARCH_EXT_IDIV__ + +// RUN: %clang -target armv8a -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// RUN: %clang -target armv8a -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// V8A:#define __ARM_ARCH_EXT_IDIV__ 1 +// V8A:#define __ARM_FP 0xE // RUN: %clang -target armv8m.base-none-linux-gnu -x c -E -dM %s -o - | FileCheck --check-prefix=V8M_BASELINE %s // V8M_BASELINE: __ARM_ARCH 8 @@ -150,29 +129,17 @@ // CHECK-SHORTENUMS:#define __ARM_SIZEOF_MINIMAL_ENUM 1 // Test that -mhwdiv has the right effect for a target CPU which has hwdiv enabled by default. -// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-ARM %s -// DEFAULTHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-THUMB %s -// DEFAULTHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv7 -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - |
[PATCH] D18391: Combine identical check-prefixes in Clang test/Preprocessor/arm-target-features.c
tyomitch created this revision. tyomitch added reviewers: rengolin, t.p.northover. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. http://reviews.llvm.org/D18391 Files: test/Preprocessor/arm-target-features.c Index: test/Preprocessor/arm-target-features.c === --- test/Preprocessor/arm-target-features.c +++ test/Preprocessor/arm-target-features.c @@ -55,45 +55,24 @@ // Check that -mhwdiv works properly for armv8/thumbv8 (enabled by default). -// RUN: %clang -target armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8 %s -// ARMV8:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8 -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8 %s -// THUMBV8:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8-EABI %s -// ARMV8-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8-eabi -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8-EABI %s -// THUMBV8-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NONEHWDIV-ARMV8 %s -// NONEHWDIV-ARMV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8 -mthumb -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NONEHWDIV-THUMBV8 %s -// NONEHWDIV-THUMBV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARMV8 %s -// THUMBHWDIV-ARMV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8 -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMBV8 %s -// ARMHWDIV-THUMBV8-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target armv8a -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8A %s -// ARMV8A:#define __ARM_ARCH_EXT_IDIV__ 1 -// ARMV8A: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A %s -// THUMBV8A:#define __ARM_ARCH_EXT_IDIV__ 1 -// THUMBV8A: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8A-EABI %s -// ARMV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 -// ARMV8A-EABI: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A-EABI %s -// THUMBV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 -// THUMBV8A-EABI: #define __ARM_FP 0xE +// RUN: %clang -target armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// RUN: %clang -target armv8 -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// RUN: %clang -target armv8-eabi -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=V8 %s +// V8:#define __ARM_ARCH_EXT_IDIV__ 1 + +// RUN: %clang -target armv8 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mthumb -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=NOHWDIV-V8 %s +// NOHWDIV-V8-NOT:#define __ARM_ARCH_EXT_IDIV__ + +// RUN: %clang -target armv8a -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// RUN: %clang -target armv8a -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=V8A %s +// V8A:#define __ARM_ARCH_EXT_IDIV__ 1 +// V8A:#define __ARM_FP 0xE // RUN: %clang -target armv8m.base-none-linux-gnu -x c -E -dM %s -o - | FileCheck --check-prefix=V8M_BASELINE %s // V8M_BASELINE: __ARM_ARCH 8 @@ -150,29 +129,17 @@ // CHECK-SHORTENUMS:#define __ARM_SIZEOF_MINIMAL_ENUM 1 // Test that -mhwdiv has the right effect for a target CPU which has hwdiv enabled by default. -// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-ARM %s -// DEFAULTHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-THUMB %s -// DEFAULTHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv7 -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s -// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 +// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=HWDIV %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=HWDIV %s +// RUN: %clang -target armv7 -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - | FileCheck
r254206 - int function without a return statement is invalid C++.
Author: askrobov Date: Fri Nov 27 12:10:49 2015 New Revision: 254206 URL: http://llvm.org/viewvc/llvm-project?rev=254206=rev Log: int function without a return statement is invalid C++. Changing the return type to void. Modified: cfe/trunk/test/Tooling/clang-check-analyzer.cpp cfe/trunk/test/Tooling/clang-check-extra-arg.cpp Modified: cfe/trunk/test/Tooling/clang-check-analyzer.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Tooling/clang-check-analyzer.cpp?rev=254206=254205=254206=diff == --- cfe/trunk/test/Tooling/clang-check-analyzer.cpp (original) +++ cfe/trunk/test/Tooling/clang-check-analyzer.cpp Fri Nov 27 12:10:49 2015 @@ -1,4 +1,4 @@ // RUN: clang-check -analyze "%s" -- -c 2>&1 | FileCheck %s // CHECK: Dereference of null pointer -int a(int *x) { if(x){} *x = 47; } +void a(int *x) { if(x){} *x = 47; } Modified: cfe/trunk/test/Tooling/clang-check-extra-arg.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Tooling/clang-check-extra-arg.cpp?rev=254206=254205=254206=diff == --- cfe/trunk/test/Tooling/clang-check-extra-arg.cpp (original) +++ cfe/trunk/test/Tooling/clang-check-extra-arg.cpp Fri Nov 27 12:10:49 2015 @@ -2,4 +2,4 @@ // CHECK: unknown warning option '-Wunimplemented-warning-before' // CHECK: unknown warning option '-Wunimplemented-warning' -int a(){} +void a(){} ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r253677 - Handle ARMv6-J as an alias, instead of fake architecture
Author: askrobov Date: Fri Nov 20 10:47:05 2015 New Revision: 253677 URL: http://llvm.org/viewvc/llvm-project?rev=253677=rev Log: Handle ARMv6-J as an alias, instead of fake architecture Summary: Clang-side update, corresponding to D14755 Reviewers: rengolin, bogden, compnerd Subscribers: aemerson, rengolin, cfe-commits Differential Revision: http://reviews.llvm.org/D14756 Modified: cfe/trunk/test/Driver/arm-cortex-cpus.c Modified: cfe/trunk/test/Driver/arm-cortex-cpus.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/arm-cortex-cpus.c?rev=253677=253676=253677=diff == --- cfe/trunk/test/Driver/arm-cortex-cpus.c (original) +++ cfe/trunk/test/Driver/arm-cortex-cpus.c Fri Nov 20 10:47:05 2015 @@ -57,11 +57,11 @@ // FIXME %clang -target armv6j -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J %s // RUN: %clang -target arm -march=armv6j -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J %s -// CHECK-V6J: "-cc1"{{.*}} "-triple" "armv6-{{.*}} "-target-cpu" "arm1136j-s" +// CHECK-V6J: "-cc1"{{.*}} "-triple" "armv6-{{.*}} "-target-cpu" "arm1136jf-s" // FIXME %clang -target armv6j -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J-THUMB %s // RUN: %clang -target arm -march=armv6j -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J-THUMB %s -// CHECK-V6J-THUMB: "-cc1"{{.*}} "-triple" "thumbv6-{{.*}} "-target-cpu" "arm1136j-s" +// CHECK-V6J-THUMB: "-cc1"{{.*}} "-triple" "thumbv6-{{.*}} "-target-cpu" "arm1136jf-s" // FIXME %clang -target armv6z -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6Z %s // FIXME %clang -target arm -march=armv6z -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6Z %s ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D14756: Handle ARMv6-J as an alias, instead of fake architecture
tyomitch created this revision. tyomitch added reviewers: rengolin, bogden, compnerd. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. Clang-side update, corresponding to D14755 http://reviews.llvm.org/D14756 Files: test/Driver/arm-cortex-cpus.c Index: test/Driver/arm-cortex-cpus.c === --- test/Driver/arm-cortex-cpus.c +++ test/Driver/arm-cortex-cpus.c @@ -57,11 +57,11 @@ // FIXME %clang -target armv6j -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J %s // RUN: %clang -target arm -march=armv6j -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J %s -// CHECK-V6J: "-cc1"{{.*}} "-triple" "armv6-{{.*}} "-target-cpu" "arm1136j-s" +// CHECK-V6J: "-cc1"{{.*}} "-triple" "armv6-{{.*}} "-target-cpu" "arm1136jf-s" // FIXME %clang -target armv6j -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J-THUMB %s // RUN: %clang -target arm -march=armv6j -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J-THUMB %s -// CHECK-V6J-THUMB: "-cc1"{{.*}} "-triple" "thumbv6-{{.*}} "-target-cpu" "arm1136j-s" +// CHECK-V6J-THUMB: "-cc1"{{.*}} "-triple" "thumbv6-{{.*}} "-target-cpu" "arm1136jf-s" // FIXME %clang -target armv6z -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6Z %s // FIXME %clang -target arm -march=armv6z -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6Z %s Index: test/Driver/arm-cortex-cpus.c === --- test/Driver/arm-cortex-cpus.c +++ test/Driver/arm-cortex-cpus.c @@ -57,11 +57,11 @@ // FIXME %clang -target armv6j -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J %s // RUN: %clang -target arm -march=armv6j -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J %s -// CHECK-V6J: "-cc1"{{.*}} "-triple" "armv6-{{.*}} "-target-cpu" "arm1136j-s" +// CHECK-V6J: "-cc1"{{.*}} "-triple" "armv6-{{.*}} "-target-cpu" "arm1136jf-s" // FIXME %clang -target armv6j -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J-THUMB %s // RUN: %clang -target arm -march=armv6j -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6J-THUMB %s -// CHECK-V6J-THUMB: "-cc1"{{.*}} "-triple" "thumbv6-{{.*}} "-target-cpu" "arm1136j-s" +// CHECK-V6J-THUMB: "-cc1"{{.*}} "-triple" "thumbv6-{{.*}} "-target-cpu" "arm1136jf-s" // FIXME %clang -target armv6z -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6Z %s // FIXME %clang -target arm -march=armv6z -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6Z %s ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r253207 - Handle ARMv6KZ naming
Author: askrobov Date: Mon Nov 16 08:05:48 2015 New Revision: 253207 URL: http://llvm.org/viewvc/llvm-project?rev=253207=rev Log: Handle ARMv6KZ naming Summary: Update for clang tests for D14568 Reviewers: rengolin, joerg, bogden Subscribers: aemerson, rengolin, cfe-commits Differential Revision: http://reviews.llvm.org/D14570 Modified: cfe/trunk/test/Driver/arm-cortex-cpus.c cfe/trunk/test/Driver/biarch.c Modified: cfe/trunk/test/Driver/arm-cortex-cpus.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/arm-cortex-cpus.c?rev=253207=253206=253207=diff == --- cfe/trunk/test/Driver/arm-cortex-cpus.c (original) +++ cfe/trunk/test/Driver/arm-cortex-cpus.c Mon Nov 16 08:05:48 2015 @@ -73,11 +73,11 @@ // RUN: %clang -target armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s // RUN: %clang -target arm -march=armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s -// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s // RUN: %clang -target arm -march=armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s -// CHECK-V6K-THUMB: "-cc1"{{.*}} "-triple" "thumbv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K-THUMB: "-cc1"{{.*}} "-triple" "thumbv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6t2 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6T2 %s // RUN: %clang -target arm -march=armv6t2 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6T2 %s @@ -249,12 +249,14 @@ // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1136jf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6 %s // CHECK-CPUV6: "-cc1"{{.*}} "-triple" "armv6-{{.*}} -// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jz-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s -// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jzf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // RUN: %clang -target arm-linux-gnueabi -mcpu=mpcore -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // RUN: %clang -target arm-linux-gnueabi -mcpu=mpcorenovfp -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // CHECK-CPUV6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} +// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jz-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6KZ %s +// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jzf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6KZ %s +// CHECK-CPUV6KZ: "-cc1"{{.*}} "-triple" "armv6kz-{{.*}} + // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1156t2-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6T2 %s // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1156t2f-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6T2 %s // CHECK-CPUV6T2: "-cc1"{{.*}} "-triple" "armv6t2-{{.*}} Modified: cfe/trunk/test/Driver/biarch.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/biarch.c?rev=253207=253206=253207=diff == --- cfe/trunk/test/Driver/biarch.c (original) +++ cfe/trunk/test/Driver/biarch.c Mon Nov 16 08:05:48 2015 @@ -6,8 +6,9 @@ // RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s // X86_64: "-cc1" "-triple" "x86_64--netbsd" +// r196538 set arm1176jzf-s as default CPU for ARMv6 on NetBSD // RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 | FileCheck -check-prefix=ARMV6 %s -// ARMV6: "-cc1" "-triple" "armv6k--netbsd-eabihf" +// ARMV6: "-cc1" "-triple" "armv6kz--netbsd-eabihf" // RUN: %clang -target sparcv9--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s // RUN: %clang -target sparc--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D14570: Handle ARMv6KZ naming
tyomitch added a comment. In http://reviews.llvm.org/D14570#288022, @joerg wrote: > The specific CPU was only chosen to match what the backend supported at the > time. As long as the feature set is identical, it doesn't really matter. The feature set isn't quite identical; default ARMv6 CPU for non-NetBSD targets is "arm1136jf-s", which differs from "arm1176jzf-s" by not having the HasV6KOps and FeatureTrustZone backend features. I don't understand why NetBSD is special in this respect; but anyway, my patch preserves its special handling. http://reviews.llvm.org/D14570 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r252904 - Cull non-standard variants of ARM architectures (NFC)
Author: askrobov Date: Thu Nov 12 09:52:02 2015 New Revision: 252904 URL: http://llvm.org/viewvc/llvm-project?rev=252904=rev Log: Cull non-standard variants of ARM architectures (NFC) Summary: Clang-side update, corresponding to D14577 Reviewers: rengolin Subscribers: aemerson, cfe-commits, rengolin Differential Revision: http://reviews.llvm.org/D14578 Modified: cfe/trunk/lib/Basic/Targets.cpp Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=252904=252903=252904=diff == --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Thu Nov 12 09:52:02 2015 @@ -4366,15 +4366,10 @@ class ARMTargetInfo : public TargetInfo default: return llvm::ARM::getCPUAttr(ArchKind); case llvm::ARM::AK_ARMV6M: -case llvm::ARM::AK_ARMV6SM: -case llvm::ARM::AK_ARMV6HL: return "6M"; case llvm::ARM::AK_ARMV7S: return "7S"; -case llvm::ARM::AK_ARMV7: case llvm::ARM::AK_ARMV7A: -case llvm::ARM::AK_ARMV7L: -case llvm::ARM::AK_ARMV7HL: return "7A"; case llvm::ARM::AK_ARMV7R: return "7R"; ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
r252720 - Make test/Driver/biarch.c use FileCheck instead of grep
Author: askrobov Date: Wed Nov 11 04:45:44 2015 New Revision: 252720 URL: http://llvm.org/viewvc/llvm-project?rev=252720=rev Log: Make test/Driver/biarch.c use FileCheck instead of grep Summary: For clarity and ease of maintenance, I suggest porting this test to use the same tooling as the rest of the tests. Reviewers: joerg, rengolin, dougk, yaron.keren Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D14548 Modified: cfe/trunk/test/Driver/biarch.c Modified: cfe/trunk/test/Driver/biarch.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/biarch.c?rev=252720=252719=252720=diff == --- cfe/trunk/test/Driver/biarch.c (original) +++ cfe/trunk/test/Driver/biarch.c Wed Nov 11 04:45:44 2015 @@ -1,44 +1,32 @@ -// RUN: %clang -target i386--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "i386--netbsd"' %t - -// RUN: %clang -target i386--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "x86_64--netbsd"' %t - -// RUN: %clang -target x86_64--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "i386--netbsd"' %t - -// RUN: %clang -target x86_64--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "x86_64--netbsd"' %t - -// RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "armv6k--netbsd-eabihf"' %t - -// RUN: %clang -target sparcv9--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparc--netbsd"' %t - -// RUN: %clang -target sparcv9--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparcv9--netbsd"' %t - -// RUN: %clang -target sparc64--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparc64--netbsd"' %t - -// RUN: %clang -target sparc--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparc--netbsd"' %t - -// RUN: %clang -target sparc--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparcv9--netbsd"' %t - -// RUN: %clang -target sparcel -o foo %s -### 2> %t -// RUN: grep 'gcc\(\.exe\)\?" "-EL" "-o" "foo"' %t - -// RUN: %clang -target mips64--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips--netbsd"' %t - -// RUN: %clang -target mips64--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips64--netbsd"' %t - -// RUN: %clang -target mips--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips--netbsd"' %t - -// RUN: %clang -target mips--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips64--netbsd"' %t +// RUN: %clang -target i386--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=I386 %s +// RUN: %clang -target x86_64--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=I386 %s +// I386: "-cc1" "-triple" "i386--netbsd" + +// RUN: %clang -target i386--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s +// RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s +// X86_64: "-cc1" "-triple" "x86_64--netbsd" + +// RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 | FileCheck -check-prefix=ARMV6 %s +// ARMV6: "-cc1" "-triple" "armv6k--netbsd-eabihf" + +// RUN: %clang -target sparcv9--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s +// RUN: %clang -target sparc--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s +// SPARC: "-cc1" "-triple" "sparc--netbsd" + +// RUN: %clang -target sparcv9--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=SPARCV9 %s +// RUN: %clang -target sparc--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=SPARCV9 %s +// SPARCV9: "-cc1" "-triple" "sparcv9--netbsd" + +// RUN: %clang -target sparc64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=SPARC64 %s +// SPARC64: "-cc1" "-triple" "sparc64--netbsd" + +// RUN: %clang -target sparcel -o foo %s -### 2>&1 | FileCheck -check-prefix=SPARCEL %s +// SPARCEL: gcc{{(\.exe)?}}" "-EL" "-o" "foo" + +// RUN: %clang -target mips64--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=MIPS %s +// RUN: %clang -target mips--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=MIPS %s +// MIPS: "-cc1" "-triple" "mips--netbsd" + +// RUN: %clang -target mips64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=MIPS64 %s +// RUN: %clang -target mips--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=MIPS64 %s +// MIPS64: "-cc1" "-triple" "mips64--netbsd" ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
RE: [PATCH] D14570: Handle ARMv6KZ naming
> Why isn't this just part of D14568? It's in the other repository. From: James Molloy [mailto:ja...@jamesmolloy.co.uk] Sent: 11 November 2015 12:42 To: reviews+d14570+public+1de1f7f06e3d3...@reviews.llvm.org; Artyom Skrobov; renato.go...@linaro.org; jo...@netbsd.org; Bernard Ogden Cc: kanh...@a-bix.com; cfe-commits@lists.llvm.org Subject: Re: [PATCH] D14570: Handle ARMv6KZ naming Hi Artyom, Why isn't this just part of D14568? Cheers, James On Wed, 11 Nov 2015 at 12:08 A. Skrobov via cfe-commits <cfe-commits@lists.llvm.org> wrote: tyomitch created this revision. tyomitch added reviewers: rengolin, joerg, bogden. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. Update for clang tests for D14568 http://reviews.llvm.org/D14570 Files: test/Driver/arm-cortex-cpus.c test/Driver/biarch.c Index: test/Driver/biarch.c === --- test/Driver/biarch.c +++ test/Driver/biarch.c @@ -6,8 +6,9 @@ // RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s // X86_64: "-cc1" "-triple" "x86_64--netbsd" +// r196538 set arm1176jzf-s as default CPU for ARMv6 on NetBSD // RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 | FileCheck -check-prefix=ARMV6 %s -// ARMV6: "-cc1" "-triple" "armv6k--netbsd-eabihf" +// ARMV6: "-cc1" "-triple" "armv6kz--netbsd-eabihf" // RUN: %clang -target sparcv9--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s // RUN: %clang -target sparc--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s Index: test/Driver/arm-cortex-cpus.c === --- test/Driver/arm-cortex-cpus.c +++ test/Driver/arm-cortex-cpus.c @@ -73,11 +73,11 @@ // RUN: %clang -target armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s // RUN: %clang -target arm -march=armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s -// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s // RUN: %clang -target arm -march=armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s -// CHECK-V6K-THUMB: "-cc1"{{.*}} "-triple" "thumbv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K-THUMB: "-cc1"{{.*}} "-triple" "thumbv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6t2 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6T2 %s // RUN: %clang -target arm -march=armv6t2 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6T2 %s @@ -249,12 +249,14 @@ // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1136jf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6 %s // CHECK-CPUV6: "-cc1"{{.*}} "-triple" "armv6-{{.*}} -// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jz-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s -// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jzf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // RUN: %clang -target arm-linux-gnueabi -mcpu=mpcore -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // RUN: %clang -target arm-linux-gnueabi -mcpu=mpcorenovfp -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // CHECK-CPUV6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} +// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jz-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6KZ %s +// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jzf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6KZ %s +// CHECK-CPUV6KZ: "-cc1"{{.*}} "-triple" "armv6kz-{{.*}} + // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1156t2-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6T2 %s // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1156t2f-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6T2 %s // CHECK-CPUV6T2: "-cc1"{{.*}} "-triple" "armv6t2-{{.*}} ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D14570: Handle ARMv6KZ naming
tyomitch created this revision. tyomitch added reviewers: rengolin, joerg, bogden. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. Update for clang tests for D14568 http://reviews.llvm.org/D14570 Files: test/Driver/arm-cortex-cpus.c test/Driver/biarch.c Index: test/Driver/biarch.c === --- test/Driver/biarch.c +++ test/Driver/biarch.c @@ -6,8 +6,9 @@ // RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s // X86_64: "-cc1" "-triple" "x86_64--netbsd" +// r196538 set arm1176jzf-s as default CPU for ARMv6 on NetBSD // RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 | FileCheck -check-prefix=ARMV6 %s -// ARMV6: "-cc1" "-triple" "armv6k--netbsd-eabihf" +// ARMV6: "-cc1" "-triple" "armv6kz--netbsd-eabihf" // RUN: %clang -target sparcv9--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s // RUN: %clang -target sparc--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s Index: test/Driver/arm-cortex-cpus.c === --- test/Driver/arm-cortex-cpus.c +++ test/Driver/arm-cortex-cpus.c @@ -73,11 +73,11 @@ // RUN: %clang -target armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s // RUN: %clang -target arm -march=armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s -// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s // RUN: %clang -target arm -march=armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s -// CHECK-V6K-THUMB: "-cc1"{{.*}} "-triple" "thumbv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K-THUMB: "-cc1"{{.*}} "-triple" "thumbv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6t2 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6T2 %s // RUN: %clang -target arm -march=armv6t2 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6T2 %s @@ -249,12 +249,14 @@ // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1136jf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6 %s // CHECK-CPUV6: "-cc1"{{.*}} "-triple" "armv6-{{.*}} -// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jz-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s -// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jzf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // RUN: %clang -target arm-linux-gnueabi -mcpu=mpcore -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // RUN: %clang -target arm-linux-gnueabi -mcpu=mpcorenovfp -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6K %s // CHECK-CPUV6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} +// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jz-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6KZ %s +// RUN: %clang -target arm-linux-gnueabi -mcpu=arm1176jzf-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6KZ %s +// CHECK-CPUV6KZ: "-cc1"{{.*}} "-triple" "armv6kz-{{.*}} + // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1156t2-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6T2 %s // RUN: %clang -target arm-linux-gnueabi -mcpu=arm1156t2f-s -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV6T2 %s // CHECK-CPUV6T2: "-cc1"{{.*}} "-triple" "armv6t2-{{.*}} Index: test/Driver/biarch.c === --- test/Driver/biarch.c +++ test/Driver/biarch.c @@ -6,8 +6,9 @@ // RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s // X86_64: "-cc1" "-triple" "x86_64--netbsd" +// r196538 set arm1176jzf-s as default CPU for ARMv6 on NetBSD // RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 | FileCheck -check-prefix=ARMV6 %s -// ARMV6: "-cc1" "-triple" "armv6k--netbsd-eabihf" +// ARMV6: "-cc1" "-triple" "armv6kz--netbsd-eabihf" // RUN: %clang -target sparcv9--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s // RUN: %clang -target sparc--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s Index: test/Driver/arm-cortex-cpus.c === --- test/Driver/arm-cortex-cpus.c +++ test/Driver/arm-cortex-cpus.c @@ -73,11 +73,11 @@ // RUN: %clang -target armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s // RUN: %clang -target arm -march=armv6k -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K %s -// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176jzf-s" +// CHECK-V6K: "-cc1"{{.*}} "-triple" "armv6k-{{.*}} "-target-cpu" "arm1176j-s" // RUN: %clang -target armv6k -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-V6K-THUMB %s // RUN: %clang -target arm -march=armv6k -mthumb -### -c %s 2>&1 | FileCheck
[PATCH] D14578: Cull non-standard variants of ARM architectures (NFC)
tyomitch created this revision. tyomitch added a reviewer: rengolin. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. Clang-side update, corresponding to D14577 http://reviews.llvm.org/D14578 Files: lib/Basic/Targets.cpp Index: lib/Basic/Targets.cpp === --- lib/Basic/Targets.cpp +++ lib/Basic/Targets.cpp @@ -4366,15 +4366,10 @@ default: return llvm::ARM::getCPUAttr(ArchKind); case llvm::ARM::AK_ARMV6M: -case llvm::ARM::AK_ARMV6SM: -case llvm::ARM::AK_ARMV6HL: return "6M"; case llvm::ARM::AK_ARMV7S: return "7S"; -case llvm::ARM::AK_ARMV7: case llvm::ARM::AK_ARMV7A: -case llvm::ARM::AK_ARMV7L: -case llvm::ARM::AK_ARMV7HL: return "7A"; case llvm::ARM::AK_ARMV7R: return "7R"; Index: lib/Basic/Targets.cpp === --- lib/Basic/Targets.cpp +++ lib/Basic/Targets.cpp @@ -4366,15 +4366,10 @@ default: return llvm::ARM::getCPUAttr(ArchKind); case llvm::ARM::AK_ARMV6M: -case llvm::ARM::AK_ARMV6SM: -case llvm::ARM::AK_ARMV6HL: return "6M"; case llvm::ARM::AK_ARMV7S: return "7S"; -case llvm::ARM::AK_ARMV7: case llvm::ARM::AK_ARMV7A: -case llvm::ARM::AK_ARMV7L: -case llvm::ARM::AK_ARMV7HL: return "7A"; case llvm::ARM::AK_ARMV7R: return "7R"; ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D14548: Make test/Driver/biarch.c use FileCheck instead of grep
tyomitch created this revision. tyomitch added reviewers: joerg, rengolin, dougk, yaron.keren. tyomitch added a subscriber: cfe-commits. For clarity and ease of maintenance, I suggest porting this test to use the same tooling as the rest of the tests. http://reviews.llvm.org/D14548 Files: test/Driver/biarch.c Index: test/Driver/biarch.c === --- test/Driver/biarch.c +++ test/Driver/biarch.c @@ -1,44 +1,32 @@ -// RUN: %clang -target i386--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "i386--netbsd"' %t +// RUN: %clang -target i386--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=I386 %s +// RUN: %clang -target x86_64--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=I386 %s +// I386: "-cc1" "-triple" "i386--netbsd" -// RUN: %clang -target i386--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "x86_64--netbsd"' %t +// RUN: %clang -target i386--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s +// RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s +// X86_64: "-cc1" "-triple" "x86_64--netbsd" -// RUN: %clang -target x86_64--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "i386--netbsd"' %t +// RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 | FileCheck -check-prefix=ARMV6 %s +// ARMV6: "-cc1" "-triple" "armv6k--netbsd-eabihf" -// RUN: %clang -target x86_64--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "x86_64--netbsd"' %t +// RUN: %clang -target sparcv9--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s +// RUN: %clang -target sparc--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=SPARC %s +// SPARC: "-cc1" "-triple" "sparc--netbsd" -// RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "armv6k--netbsd-eabihf"' %t +// RUN: %clang -target sparcv9--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=SPARCV9 %s +// RUN: %clang -target sparc--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=SPARCV9 %s +// SPARCV9: "-cc1" "-triple" "sparcv9--netbsd" -// RUN: %clang -target sparcv9--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparc--netbsd"' %t +// RUN: %clang -target sparc64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=SPARC64 %s +// SPARC64: "-cc1" "-triple" "sparc64--netbsd" -// RUN: %clang -target sparcv9--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparcv9--netbsd"' %t +// RUN: %clang -target sparcel -o foo %s -### 2>&1 | FileCheck -check-prefix=SPARCEL %s +// SPARCEL: gcc{{(\.exe)?}}" "-EL" "-o" "foo" -// RUN: %clang -target sparc64--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparc64--netbsd"' %t +// RUN: %clang -target mips64--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=MIPS %s +// RUN: %clang -target mips--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=MIPS %s +// MIPS: "-cc1" "-triple" "mips--netbsd" -// RUN: %clang -target sparc--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparc--netbsd"' %t - -// RUN: %clang -target sparc--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "sparcv9--netbsd"' %t - -// RUN: %clang -target sparcel -o foo %s -### 2> %t -// RUN: grep 'gcc\(\.exe\)\?" "-EL" "-o" "foo"' %t - -// RUN: %clang -target mips64--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips--netbsd"' %t - -// RUN: %clang -target mips64--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips64--netbsd"' %t - -// RUN: %clang -target mips--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips--netbsd"' %t - -// RUN: %clang -target mips--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "mips64--netbsd"' %t +// RUN: %clang -target mips64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=MIPS64 %s +// RUN: %clang -target mips--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=MIPS64 %s +// MIPS64: "-cc1" "-triple" "mips64--netbsd" Index: test/Driver/biarch.c === --- test/Driver/biarch.c +++ test/Driver/biarch.c @@ -1,44 +1,32 @@ -// RUN: %clang -target i386--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "i386--netbsd"' %t +// RUN: %clang -target i386--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=I386 %s +// RUN: %clang -target x86_64--netbsd -m32 %s -### 2>&1 | FileCheck -check-prefix=I386 %s +// I386: "-cc1" "-triple" "i386--netbsd" -// RUN: %clang -target i386--netbsd -m64 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "x86_64--netbsd"' %t +// RUN: %clang -target i386--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s +// RUN: %clang -target x86_64--netbsd -m64 %s -### 2>&1 | FileCheck -check-prefix=X86_64 %s +// X86_64: "-cc1" "-triple" "x86_64--netbsd" -// RUN: %clang -target x86_64--netbsd -m32 %s -### 2> %t -// RUN: grep '"-cc1" "-triple" "i386--netbsd"' %t +// RUN: %clang -target armv6--netbsd-eabihf -m32 %s -### 2>&1 |
r251124 - [ARM] Renaming +t2dsp feature into +dsp, as discussed on llvm-dev
Author: askrobov Date: Fri Oct 23 12:19:02 2015 New Revision: 251124 URL: http://llvm.org/viewvc/llvm-project?rev=251124=rev Log: [ARM] Renaming +t2dsp feature into +dsp, as discussed on llvm-dev Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/CodeGen/arm-target-features.c Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=251124=251123=251124=diff == --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Fri Oct 23 12:19:02 2015 @@ -4518,7 +4518,7 @@ public: CRC = 1; } else if (Feature == "+crypto") { Crypto = 1; - } else if (Feature == "+t2dsp") { + } else if (Feature == "+dsp") { DSP = 1; } else if (Feature == "+fp-only-sp") { HW_FP_remove |= HW_FP_DP; Modified: cfe/trunk/test/CodeGen/arm-target-features.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/arm-target-features.c?rev=251124=251123=251124=diff == --- cfe/trunk/test/CodeGen/arm-target-features.c (original) +++ cfe/trunk/test/CodeGen/arm-target-features.c Fri Oct 23 12:19:02 2015 @@ -1,15 +1,15 @@ // REQUIRES: arm-registered-target // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a8 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3 -// CHECK-VFP3: "target-features"="+neon,+t2dsp,+vfp3" +// CHECK-VFP3: "target-features"="+dsp,+neon,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-a9 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-FP16 -// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+t2dsp,+vfp3" +// CHECK-VFP3-FP16: "target-features"="+dsp,+fp16,+neon,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4 -// CHECK-VFP4: "target-features"="+neon,+t2dsp,+vfp4" +// CHECK-VFP4: "target-features"="+dsp,+neon,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV @@ -18,38 +18,38 @@ // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a17 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7s-linux-gnueabi -target-cpu swift -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu krait -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV -// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+t2dsp,+vfp4" +// CHECK-VFP4-DIV: "target-features"="+dsp,+hwdiv,+hwdiv-arm,+neon,+vfp4" // RUN: %clang_cc1 -triple thumbv7s-apple-ios7.0 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple armv8-linux-gnueabi -target-cpu cortex-a53 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a57 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a72 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 -// CHECK-BASIC-V8: "target-features"="+crc,+crypto,+fp-armv8,+hwdiv,+hwdiv-arm,+neon,+t2dsp" +// CHECK-BASIC-V8: "target-features"="+crc,+crypto,+dsp,+fp-armv8,+hwdiv,+hwdiv-arm,+neon" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-DIV -// CHECK-VFP3-D16-DIV: "target-features"="+d16,+hwdiv,+hwdiv-arm,+t2dsp,+vfp3" +// CHECK-VFP3-D16-DIV: "target-features"="+d16,+dsp,+hwdiv,+hwdiv-arm,+vfp3" // RUN: %clang_cc1 -triple armv7-linux-gnueabi -target-cpu cortex-r4f -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-THUMB-DIV -// CHECK-VFP3-D16-THUMB-DIV: "target-features"="+d16,+hwdiv,+t2dsp,+vfp3" +// CHECK-VFP3-D16-THUMB-DIV: "target-features"="+d16,+dsp,+hwdiv,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-FP16-DIV -// CHECK-VFP3-D16-FP16-DIV: "target-features"="+d16,+fp16,+hwdiv,+hwdiv-arm,+t2dsp,+vfp3" +// CHECK-VFP3-D16-FP16-DIV: "target-features"="+d16,+dsp,+fp16,+hwdiv,+hwdiv-arm,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-m4 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-D16-SP-THUMB-DIV -// CHECK-VFP4-D16-SP-THUMB-DIV: "target-features"="+d16,+fp-only-sp,+hwdiv,+t2dsp,+vfp4" +// CHECK-VFP4-D16-SP-THUMB-DIV: "target-features"="+d16,+dsp,+fp-only-sp,+hwdiv,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-m7 -emit-llvm -o - %s | FileCheck %s
r248521 - Recommit r248154: [ARM] Handle DSP feature as an ArchExtKind
Author: askrobov Date: Thu Sep 24 12:34:05 2015 New Revision: 248521 URL: http://llvm.org/viewvc/llvm-project?rev=248521=rev Log: Recommit r248154: [ARM] Handle DSP feature as an ArchExtKind Currently, the availability of DSP instructions (ACLE 6.4.7) is handled in a hand-rolled tricky condition block in lib/Basic/Targets.cpp, with a FIXME: attached. http://reviews.llvm.org/D12937 moved the handling of the DSP feature over to ARMTargetParser.def in LLVM, to be in line with other architecture extensions. This is the corresponding patch to clang, to clear the FIXME: and update the tests. Differential Revision: http://reviews.llvm.org/D12938 Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/CodeGen/arm-target-features.c Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=248521=248520=248521=diff == --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Thu Sep 24 12:34:05 2015 @@ -4121,6 +4121,7 @@ class ARMTargetInfo : public TargetInfo unsigned CRC : 1; unsigned Crypto : 1; + unsigned DSP : 1; unsigned Unaligned : 1; enum { @@ -4472,6 +4473,7 @@ public: FPU = 0; CRC = 0; Crypto = 0; +DSP = 0; Unaligned = 1; SoftFloat = SoftFloatABI = false; HWDiv = 0; @@ -4507,6 +4509,8 @@ public: CRC = 1; } else if (Feature == "+crypto") { Crypto = 1; + } else if (Feature == "+t2dsp") { +DSP = 1; } else if (Feature == "+fp-only-sp") { HW_FP_remove |= HW_FP_DP | HW_FP_HP; } else if (Feature == "+strict-align") { @@ -4742,25 +4746,19 @@ public: } // ACLE 6.4.7 DSP instructions -bool hasDSP = false; -bool is5EOrAbove = (ArchVersion >= 6 || - (ArchVersion == 5 && CPUAttr.count('E'))); -// FIXME: We are not getting all 32-bit ARM architectures -bool is32Bit = (!isThumb() || supportsThumb2()); -if (is5EOrAbove && is32Bit && (CPUProfile != "M" || CPUAttr == "7EM")) { +if (DSP) { Builder.defineMacro("__ARM_FEATURE_DSP", "1"); - hasDSP = true; } // ACLE 6.4.8 Saturation instructions -bool hasSAT = false; +bool SAT = false; if ((ArchVersion == 6 && CPUProfile != "M") || ArchVersion > 6 ) { Builder.defineMacro("__ARM_FEATURE_SAT", "1"); - hasSAT = true; + SAT = true; } // ACLE 6.4.6 Q (saturation) flag -if (hasDSP || hasSAT) +if (DSP || SAT) Builder.defineMacro("__ARM_FEATURE_QBIT", "1"); } Modified: cfe/trunk/test/CodeGen/arm-target-features.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/arm-target-features.c?rev=248521=248520=248521=diff == --- cfe/trunk/test/CodeGen/arm-target-features.c (original) +++ cfe/trunk/test/CodeGen/arm-target-features.c Thu Sep 24 12:34:05 2015 @@ -1,15 +1,15 @@ // REQUIRES: arm-registered-target // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a8 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3 -// CHECK-VFP3: "target-features"="+neon,+vfp3" +// CHECK-VFP3: "target-features"="+neon,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-a9 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-FP16 -// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+vfp3" +// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4 -// CHECK-VFP4: "target-features"="+neon,+vfp4" +// CHECK-VFP4: "target-features"="+neon,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV @@ -18,39 +18,41 @@ // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a17 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7s-linux-gnueabi -target-cpu swift -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu krait -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV -// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+vfp4" +// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7s-apple-ios7.0 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple armv8-linux-gnueabi -target-cpu cortex-a53 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a57 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1
r248154 - [ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def
Author: askrobov Date: Mon Sep 21 08:19:25 2015 New Revision: 248154 URL: http://llvm.org/viewvc/llvm-project?rev=248154=rev Log: [ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def Currently, the availability of DSP instructions (ACLE 6.4.7) is handled in a hand-rolled tricky condition block in lib/Basic/Targets.cpp, with a FIXME: attached. http://reviews.llvm.org/D12937 moved the handling of +t2dsp over to ARMTargetParser.def in LLVM, to be in line with other architecture extensions. This is the corresponding patch to clang, to clear the FIXME: and update the tests. Differential Revision: http://reviews.llvm.org/D12938 Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/CodeGen/arm-target-features.c Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=248154=248153=248154=diff == --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Mon Sep 21 08:19:25 2015 @@ -4121,6 +4121,7 @@ class ARMTargetInfo : public TargetInfo unsigned CRC : 1; unsigned Crypto : 1; + unsigned T2DSP : 1; unsigned Unaligned : 1; enum { @@ -4472,6 +4473,7 @@ public: FPU = 0; CRC = 0; Crypto = 0; +T2DSP = 0; Unaligned = 1; SoftFloat = SoftFloatABI = false; HWDiv = 0; @@ -4507,6 +4509,8 @@ public: CRC = 1; } else if (Feature == "+crypto") { Crypto = 1; + } else if (Feature == "+t2dsp") { +T2DSP = 1; } else if (Feature == "+fp-only-sp") { HW_FP_remove |= HW_FP_DP | HW_FP_HP; } else if (Feature == "+strict-align") { @@ -4743,11 +4747,7 @@ public: // ACLE 6.4.7 DSP instructions bool hasDSP = false; -bool is5EOrAbove = (ArchVersion >= 6 || - (ArchVersion == 5 && CPUAttr.count('E'))); -// FIXME: We are not getting all 32-bit ARM architectures -bool is32Bit = (!isThumb() || supportsThumb2()); -if (is5EOrAbove && is32Bit && (CPUProfile != "M" || CPUAttr == "7EM")) { +if (T2DSP) { Builder.defineMacro("__ARM_FEATURE_DSP", "1"); hasDSP = true; } Modified: cfe/trunk/test/CodeGen/arm-target-features.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/arm-target-features.c?rev=248154=248153=248154=diff == --- cfe/trunk/test/CodeGen/arm-target-features.c (original) +++ cfe/trunk/test/CodeGen/arm-target-features.c Mon Sep 21 08:19:25 2015 @@ -1,15 +1,15 @@ // REQUIRES: arm-registered-target // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a8 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3 -// CHECK-VFP3: "target-features"="+neon,+vfp3" +// CHECK-VFP3: "target-features"="+neon,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-a9 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-FP16 -// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+vfp3" +// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4 -// CHECK-VFP4: "target-features"="+neon,+vfp4" +// CHECK-VFP4: "target-features"="+neon,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV @@ -18,39 +18,41 @@ // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a17 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7s-linux-gnueabi -target-cpu swift -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu krait -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV -// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+vfp4" +// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7s-apple-ios7.0 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple armv8-linux-gnueabi -target-cpu cortex-a53 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a57 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a72 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 -// CHECK-BASIC-V8: "target-features"="+crc,+crypto,+fp-armv8,+hwdiv,+hwdiv-arm,+neon" +// CHECK-BASIC-V8: "target-features"="+crc,+crypto,+fp-armv8,+hwdiv,+hwdiv-arm,+neon,+t2dsp" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r5 -emit-llvm -o - %s | FileCheck %s
[PATCH] D12938: [ARM] Handle +t2dsp feature as an ArchExtKind in ARMTargetParser.def
tyomitch created this revision. tyomitch added reviewers: labrinea, rengolin. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. Currently, the availability of DSP instructions (ACLE 6.4.7) is handled in a hand-rolled tricky condition block in lib/Basic/Targets.cpp, with a FIXME: attached. http://reviews.llvm.org/D12937 moves the handling of +t2dsp over to ARMTargetParser.def in LLVM, to be in line with other architecture extensions. This is the corresponding patch to clang, to clear the FIXME: and update the tests. http://reviews.llvm.org/D12938 Files: lib/Basic/Targets.cpp test/CodeGen/arm-target-features.c Index: test/CodeGen/arm-target-features.c === --- test/CodeGen/arm-target-features.c +++ test/CodeGen/arm-target-features.c @@ -1,56 +1,58 @@ // REQUIRES: arm-registered-target // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a8 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3 -// CHECK-VFP3: "target-features"="+neon,+vfp3" +// CHECK-VFP3: "target-features"="+neon,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-a9 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-FP16 -// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+vfp3" +// CHECK-VFP3-FP16: "target-features"="+fp16,+neon,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4 -// CHECK-VFP4: "target-features"="+neon,+vfp4" +// CHECK-VFP4: "target-features"="+neon,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu cortex-a7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-a12 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a15 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple armv7-linux-gnueabihf -target-cpu cortex-a17 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7s-linux-gnueabi -target-cpu swift -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV // RUN: %clang_cc1 -triple thumbv7-linux-gnueabihf -target-cpu krait -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-DIV -// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+vfp4" +// CHECK-VFP4-DIV: "target-features"="+hwdiv,+hwdiv-arm,+neon,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7s-apple-ios7.0 -target-cpu cyclone -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple armv8-linux-gnueabi -target-cpu cortex-a53 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a57 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 // RUN: %clang_cc1 -triple thumbv8-linux-gnueabihf -target-cpu cortex-a72 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-BASIC-V8 -// CHECK-BASIC-V8: "target-features"="+crc,+crypto,+fp-armv8,+hwdiv,+hwdiv-arm,+neon" +// CHECK-BASIC-V8: "target-features"="+crc,+crypto,+fp-armv8,+hwdiv,+hwdiv-arm,+neon,+t2dsp" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r5 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-DIV -// CHECK-VFP3-D16-DIV: "target-features"="+d16,+hwdiv,+hwdiv-arm,+vfp3" +// CHECK-VFP3-D16-DIV: "target-features"="+d16,+hwdiv,+hwdiv-arm,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple armv7-linux-gnueabi -target-cpu cortex-r4f -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-THUMB-DIV -// CHECK-VFP3-D16-THUMB-DIV: "target-features"="+d16,+hwdiv,+vfp3" +// CHECK-VFP3-D16-THUMB-DIV: "target-features"="+d16,+hwdiv,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-r7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP3-D16-FP16-DIV -// CHECK-VFP3-D16-FP16-DIV: "target-features"="+d16,+fp16,+hwdiv,+hwdiv-arm,+vfp3" +// CHECK-VFP3-D16-FP16-DIV: "target-features"="+d16,+fp16,+hwdiv,+hwdiv-arm,+t2dsp,+vfp3" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-m4 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP4-D16-SP-THUMB-DIV -// CHECK-VFP4-D16-SP-THUMB-DIV: "target-features"="+d16,+fp-only-sp,+hwdiv,+vfp4" +// CHECK-VFP4-D16-SP-THUMB-DIV: "target-features"="+d16,+fp-only-sp,+hwdiv,+t2dsp,+vfp4" // RUN: %clang_cc1 -triple thumbv7-linux-gnueabi -target-cpu cortex-m7 -emit-llvm -o - %s | FileCheck %s --check-prefix=CHECK-VFP5-D16-THUMB-DIV -// CHECK-VFP5-D16-THUMB-DIV: "target-features"="+d16,+fp-armv8,+hwdiv" +// CHECK-VFP5-D16-THUMB-DIV: "target-features"="+d16,+fp-armv8,+hwdiv,+t2dsp" // RUN: %clang_cc1 -triple armv7-linux-gnueabi -target-cpu cortex-r4 -emit-llvm -o - %s |