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
[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 | FileCheck
[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 | FileChec
[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 -che
[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
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
[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 -
[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
[PATCH] D14758: Handle ARMv7K as an alias, instead of fake architecture (NFC)
tyomitch created this revision. tyomitch added reviewers: t.p.northover, rengolin. tyomitch added a subscriber: cfe-commits. Herald added subscribers: rengolin, aemerson. Clang-side update, corresponding to D14757 http://reviews.llvm.org/D14758 Files: lib/Driver/Tools.cpp Index: lib/Driver/Tools.cpp === --- lib/Driver/Tools.cpp +++ lib/Driver/Tools.cpp @@ -6295,19 +6295,17 @@ StringRef arm::getLLVMArchSuffixForARM(StringRef CPU, StringRef Arch, const llvm::Triple &Triple) { unsigned ArchKind; + if (Arch == "armv7k" || Arch == "thumbv7k") +return "v7k"; // In other cases, Cortex-A7 should resolve to ARMv7-A if (CPU == "generic") { std::string ARMArch = tools::arm::getARMArch(Arch, Triple); ArchKind = llvm::ARM::parseArch(ARMArch); if (ArchKind == llvm::ARM::AK_INVALID) // In case of generic Arch, i.e. "arm", // extract arch from default cpu of the Triple ArchKind = llvm::ARM::parseCPUArch(Triple.getARMCPUForArch(ARMArch)); } else { -// FIXME: horrible hack to get around the fact that Cortex-A7 is only an -// armv7k triple if it's actually been specified via "-arch armv7k". -ArchKind = (Arch == "armv7k" || Arch == "thumbv7k") - ? (unsigned)llvm::ARM::AK_ARMV7K - : llvm::ARM::parseCPUArch(CPU); + ArchKind = llvm::ARM::parseCPUArch(CPU); } if (ArchKind == llvm::ARM::AK_INVALID) return ""; Index: lib/Driver/Tools.cpp === --- lib/Driver/Tools.cpp +++ lib/Driver/Tools.cpp @@ -6295,19 +6295,17 @@ StringRef arm::getLLVMArchSuffixForARM(StringRef CPU, StringRef Arch, const llvm::Triple &Triple) { unsigned ArchKind; + if (Arch == "armv7k" || Arch == "thumbv7k") +return "v7k"; // In other cases, Cortex-A7 should resolve to ARMv7-A if (CPU == "generic") { std::string ARMArch = tools::arm::getARMArch(Arch, Triple); ArchKind = llvm::ARM::parseArch(ARMArch); if (ArchKind == llvm::ARM::AK_INVALID) // In case of generic Arch, i.e. "arm", // extract arch from default cpu of the Triple ArchKind = llvm::ARM::parseCPUArch(Triple.getARMCPUForArch(ARMArch)); } else { -// FIXME: horrible hack to get around the fact that Cortex-A7 is only an -// armv7k triple if it's actually been specified via "-arch armv7k". -ArchKind = (Arch == "armv7k" || Arch == "thumbv7k") - ? (unsigned)llvm::ARM::AK_ARMV7K - : llvm::ARM::parseCPUArch(CPU); + ArchKind = llvm::ARM::parseCPUArch(CPU); } if (ArchKind == llvm::ARM::AK_INVALID) return ""; ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits