fhahn created this revision. fhahn added reviewers: jroelofs, ab, scanon, arphaman. fhahn requested review of this revision. Herald added a project: clang.
Building on D102489 <https://reviews.llvm.org/D102489>, default to Darwin_libsystem_m veclib on iOS based targets. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D102494 Files: clang/lib/Driver/ToolChains/Darwin.cpp clang/test/Driver/darwin-veclib-default.c Index: clang/test/Driver/darwin-veclib-default.c =================================================================== --- /dev/null +++ clang/test/Driver/darwin-veclib-default.c @@ -0,0 +1,24 @@ +// Check default vector library options on Darwin platforms. + +// RUN: %clang -target x86_64-apple-darwin -S -### %s -arch x86_64 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-MACOS %s + +// CHECK-MACOS: "-cc1" +// CHECK-MACOS-NOT: -fveclib + +// RUN: %clang -target arm64-apple-darwinos -S -### %s -arch arm64 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-IOS-DEFAULT %s + +// RUN: %clang -target arm64-apple-ios -S -### %s -arch arm64 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-IOS-DEFAULT %s + +// CHECK-IOS-DEFAULT: "-cc1" +// CHECK-IOS-DEFAULT: "-fveclib=Darwin_libsystem_m" + +// RUN: %clang -target arm64-apple-ios -S -### %s -arch arm64 -fveclib=Accelerate 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-IOS-ACCELERATE %s + +// CHECK-IOS-ACCELERATE: "-cc1" +// CHECK-IOS-ACCELERATE-NOT: "-fveclib=Darwin_libsystem_m" +// CHECK-IOS-ACCELERATE: "-fveclib=Accelerate" +// CHECK-IOS-ACCELERATE-NOT: "-fveclib=Darwin_libsystem_m" Index: clang/lib/Driver/ToolChains/Darwin.cpp =================================================================== --- clang/lib/Driver/ToolChains/Darwin.cpp +++ clang/lib/Driver/ToolChains/Darwin.cpp @@ -2486,6 +2486,11 @@ options::OPT_fvisibility_inlines_hidden_static_local_var, options::OPT_fno_visibility_inlines_hidden_static_local_var)) CC1Args.push_back("-fvisibility-inlines-hidden-static-local-var"); + + // If no vector library is specified by the user, default to + // Darwin_libsystem_m for iOS based targets. + if (isTargetIOSBased() && !DriverArgs.hasArgNoClaim(options::OPT_fveclib)) + CC1Args.push_back("-fveclib=Darwin_libsystem_m"); } DerivedArgList *
Index: clang/test/Driver/darwin-veclib-default.c =================================================================== --- /dev/null +++ clang/test/Driver/darwin-veclib-default.c @@ -0,0 +1,24 @@ +// Check default vector library options on Darwin platforms. + +// RUN: %clang -target x86_64-apple-darwin -S -### %s -arch x86_64 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-MACOS %s + +// CHECK-MACOS: "-cc1" +// CHECK-MACOS-NOT: -fveclib + +// RUN: %clang -target arm64-apple-darwinos -S -### %s -arch arm64 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-IOS-DEFAULT %s + +// RUN: %clang -target arm64-apple-ios -S -### %s -arch arm64 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-IOS-DEFAULT %s + +// CHECK-IOS-DEFAULT: "-cc1" +// CHECK-IOS-DEFAULT: "-fveclib=Darwin_libsystem_m" + +// RUN: %clang -target arm64-apple-ios -S -### %s -arch arm64 -fveclib=Accelerate 2>&1 | \ +// RUN: FileCheck --check-prefix CHECK-IOS-ACCELERATE %s + +// CHECK-IOS-ACCELERATE: "-cc1" +// CHECK-IOS-ACCELERATE-NOT: "-fveclib=Darwin_libsystem_m" +// CHECK-IOS-ACCELERATE: "-fveclib=Accelerate" +// CHECK-IOS-ACCELERATE-NOT: "-fveclib=Darwin_libsystem_m" Index: clang/lib/Driver/ToolChains/Darwin.cpp =================================================================== --- clang/lib/Driver/ToolChains/Darwin.cpp +++ clang/lib/Driver/ToolChains/Darwin.cpp @@ -2486,6 +2486,11 @@ options::OPT_fvisibility_inlines_hidden_static_local_var, options::OPT_fno_visibility_inlines_hidden_static_local_var)) CC1Args.push_back("-fvisibility-inlines-hidden-static-local-var"); + + // If no vector library is specified by the user, default to + // Darwin_libsystem_m for iOS based targets. + if (isTargetIOSBased() && !DriverArgs.hasArgNoClaim(options::OPT_fveclib)) + CC1Args.push_back("-fveclib=Darwin_libsystem_m"); } DerivedArgList *
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits