r371813 - Revert "For PR17164: split -fno-lax-vector-conversion into three different"

Jonas Devlieghere via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 12 22:16:59 PDT 2019


Author: jdevlieghere
Date: Thu Sep 12 22:16:59 2019
New Revision: 371813

URL: http://llvm.org/viewvc/llvm-project?rev=371813&view=rev
Log:
Revert "For PR17164: split -fno-lax-vector-conversion into three different"

This breaks the LLDB build. I tried reaching out to Richard, but haven't
gotten a reply yet.

Modified:
    cfe/trunk/include/clang/Basic/LangOptions.def
    cfe/trunk/include/clang/Basic/LangOptions.h
    cfe/trunk/include/clang/Driver/Options.td
    cfe/trunk/lib/Driver/ToolChains/Clang.cpp
    cfe/trunk/lib/Frontend/CompilerInvocation.cpp
    cfe/trunk/lib/Sema/SemaExpr.cpp
    cfe/trunk/test/CodeGen/builtins-systemz-vector.c
    cfe/trunk/test/CodeGen/builtins-systemz-vector2.c
    cfe/trunk/test/CodeGen/builtins-systemz-vector3.c
    cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c
    cfe/trunk/test/CodeGen/builtins-systemz-zvector.c
    cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c
    cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c
    cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c
    cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c
    cfe/trunk/test/CodeGen/builtins-wasm.c
    cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp
    cfe/trunk/test/Headers/altivec-header.c
    cfe/trunk/test/Headers/arm-neon-header.c
    cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp
    cfe/trunk/test/Headers/x86-intrinsics-headers.c
    cfe/trunk/test/Headers/x86intrin-2.c
    cfe/trunk/test/Headers/x86intrin.c
    cfe/trunk/test/Sema/ext_vector_casts.c
    cfe/trunk/test/Sema/typedef-retain.c
    cfe/trunk/test/Sema/zvector.c
    cfe/trunk/test/Sema/zvector2.c
    cfe/trunk/test/SemaCXX/altivec.cpp
    cfe/trunk/test/SemaCXX/vector-no-lax.cpp
    cfe/trunk/test/SemaCXX/vector.cpp

Modified: cfe/trunk/include/clang/Basic/LangOptions.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.def?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/LangOptions.def (original)
+++ cfe/trunk/include/clang/Basic/LangOptions.def Thu Sep 12 22:16:59 2019
@@ -119,8 +119,7 @@ LANGOPT(AppleKext         , 1, 0, "Apple
 BENIGN_LANGOPT(PascalStrings, 1, 0, "Pascal string support")
 LANGOPT(WritableStrings   , 1, 0, "writable string support")
 LANGOPT(ConstStrings      , 1, 0, "const-qualified string support")
-ENUM_LANGOPT(LaxVectorConversions, LaxVectorConversionKind, 2,
-             LaxVectorConversionKind::All, "lax vector conversions")
+LANGOPT(LaxVectorConversions , 1, 1, "lax vector conversions")
 LANGOPT(AltiVec           , 1, 0, "AltiVec-style vector initializers")
 LANGOPT(ZVector           , 1, 0, "System z vector extensions")
 LANGOPT(Exceptions        , 1, 0, "exception handling")

Modified: cfe/trunk/include/clang/Basic/LangOptions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/LangOptions.h?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/LangOptions.h (original)
+++ cfe/trunk/include/clang/Basic/LangOptions.h Thu Sep 12 22:16:59 2019
@@ -184,16 +184,6 @@ public:
     FEA_On
   };
 
-  enum class LaxVectorConversionKind {
-    /// Permit no implicit vector bitcasts.
-    None,
-    /// Permit vector bitcasts between integer vectors with different numbers
-    /// of elements but the same total bit-width.
-    Integer,
-    /// Permit vector bitcasts between all vectors with the same total
-    /// bit-width.
-    All,
-  };
 
 public:
   /// Set of enabled sanitizers.

Modified: cfe/trunk/include/clang/Driver/Options.td
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/include/clang/Driver/Options.td (original)
+++ cfe/trunk/include/clang/Driver/Options.td Thu Sep 12 22:16:59 2019
@@ -1274,10 +1274,7 @@ def fno_fine_grained_bitfield_accesses :
   HelpText<"Use large-integer access for consecutive bitfield runs.">;
 
 def flat__namespace : Flag<["-"], "flat_namespace">;
-def flax_vector_conversions_EQ : Joined<["-"], "flax-vector-conversions=">, Group<f_Group>,
-  HelpText<"Enable implicit vector bit-casts">, Values<"none,integer,all">, Flags<[CC1Option]>;
-def flax_vector_conversions : Flag<["-"], "flax-vector-conversions">, Group<f_Group>,
-  Alias<flax_vector_conversions_EQ>, AliasArgs<["integer"]>;
+def flax_vector_conversions : Flag<["-"], "flax-vector-conversions">, Group<f_Group>;
 def flimited_precision_EQ : Joined<["-"], "flimited-precision=">, Group<f_Group>;
 def fapple_link_rtlib : Flag<["-"], "fapple-link-rtlib">, Group<f_Group>,
   HelpText<"Force linking the clang builtins runtime library">;
@@ -1451,7 +1448,7 @@ def fno_experimental_new_pass_manager :
 def fveclib : Joined<["-"], "fveclib=">, Group<f_Group>, Flags<[CC1Option]>,
     HelpText<"Use the given vector functions library">, Values<"Accelerate,MASSV,SVML,none">;
 def fno_lax_vector_conversions : Flag<["-"], "fno-lax-vector-conversions">, Group<f_Group>,
-  Alias<flax_vector_conversions_EQ>, AliasArgs<["none"]>;
+  HelpText<"Disallow implicit conversions between vectors with a different number of elements or different element types">, Flags<[CC1Option]>;
 def fno_merge_all_constants : Flag<["-"], "fno-merge-all-constants">, Group<f_Group>,
   HelpText<"Disallow merging of constants">;
 def fno_modules : Flag <["-"], "fno-modules">, Group<f_Group>,

Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Thu Sep 12 22:16:59 2019
@@ -4678,11 +4678,15 @@ void Clang::ConstructJob(Compilation &C,
   if (TC.SupportsProfiling())
     Args.AddLastArg(CmdArgs, options::OPT_mfentry);
 
+  // -flax-vector-conversions is default.
+  if (!Args.hasFlag(options::OPT_flax_vector_conversions,
+                    options::OPT_fno_lax_vector_conversions))
+    CmdArgs.push_back("-fno-lax-vector-conversions");
+
   if (Args.getLastArg(options::OPT_fapple_kext) ||
       (Args.hasArg(options::OPT_mkernel) && types::isCXX(InputType)))
     CmdArgs.push_back("-fapple-kext");
 
-  Args.AddLastArg(CmdArgs, options::OPT_flax_vector_conversions_EQ);
   Args.AddLastArg(CmdArgs, options::OPT_fobjc_sender_dependent_dispatch);
   Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_print_source_range_info);
   Args.AddLastArg(CmdArgs, options::OPT_fdiagnostics_parseable_fixits);

Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original)
+++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Thu Sep 12 22:16:59 2019
@@ -2265,7 +2265,7 @@ void CompilerInvocation::setLangDefaults
   if (Opts.OpenCL) {
     Opts.AltiVec = 0;
     Opts.ZVector = 0;
-    Opts.setLaxVectorConversions(LangOptions::LaxVectorConversionKind::None);
+    Opts.LaxVectorConversions = 0;
     Opts.setDefaultFPContractMode(LangOptions::FPC_On);
     Opts.NativeHalfType = 1;
     Opts.NativeHalfArgsAndReturns = 1;
@@ -2667,18 +2667,8 @@ static void ParseLangArgs(LangOptions &O
   Opts.WritableStrings = Args.hasArg(OPT_fwritable_strings);
   Opts.ConstStrings = Args.hasFlag(OPT_fconst_strings, OPT_fno_const_strings,
                                    Opts.ConstStrings);
-  if (Arg *A = Args.getLastArg(OPT_flax_vector_conversions_EQ)) {
-    using LaxKind = LangOptions::LaxVectorConversionKind;
-    if (auto Kind = llvm::StringSwitch<Optional<LaxKind>>(A->getValue())
-                        .Case("none", LaxKind::None)
-                        .Case("integer", LaxKind::Integer)
-                        .Case("all", LaxKind::All)
-                        .Default(llvm::None))
-      Opts.setLaxVectorConversions(*Kind);
-    else
-      Diags.Report(diag::err_drv_invalid_value)
-          << A->getAsString(Args) << A->getValue();
-  }
+  if (Args.hasArg(OPT_fno_lax_vector_conversions))
+    Opts.LaxVectorConversions = 0;
   if (Args.hasArg(OPT_fno_threadsafe_statics))
     Opts.ThreadsafeStatics = 0;
   Opts.Exceptions = Args.hasArg(OPT_fexceptions);

Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Thu Sep 12 22:16:59 2019
@@ -6498,28 +6498,8 @@ bool Sema::areLaxCompatibleVectorTypes(Q
 bool Sema::isLaxVectorConversion(QualType srcTy, QualType destTy) {
   assert(destTy->isVectorType() || srcTy->isVectorType());
 
-  switch (Context.getLangOpts().getLaxVectorConversions()) {
-  case LangOptions::LaxVectorConversionKind::None:
+  if (!Context.getLangOpts().LaxVectorConversions)
     return false;
-
-  case LangOptions::LaxVectorConversionKind::Integer:
-    if (!srcTy->isIntegralOrEnumerationType()) {
-      auto *Vec = srcTy->getAs<VectorType>();
-      if (!Vec || !Vec->getElementType()->isIntegralOrEnumerationType())
-        return false;
-    }
-    if (!destTy->isIntegralOrEnumerationType()) {
-      auto *Vec = destTy->getAs<VectorType>();
-      if (!Vec || !Vec->getElementType()->isIntegralOrEnumerationType())
-        return false;
-    }
-    // OK, integer (vector) -> integer (vector) bitcast.
-    break;
-
-    case LangOptions::LaxVectorConversionKind::All:
-    break;
-  }
-
   return areLaxCompatibleVectorTypes(srcTy, destTy);
 }
 

Modified: cfe/trunk/test/CodeGen/builtins-systemz-vector.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-vector.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-vector.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-vector.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // REQUIRES: systemz-registered-target
-// RUN: %clang_cc1 -target-cpu z13 -triple s390x-ibm-linux -flax-vector-conversions=none \
+// RUN: %clang_cc1 -target-cpu z13 -triple s390x-ibm-linux -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 
 typedef __attribute__((vector_size(16))) signed char vec_schar;

Modified: cfe/trunk/test/CodeGen/builtins-systemz-vector2.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-vector2.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-vector2.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-vector2.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // REQUIRES: systemz-registered-target
-// RUN: %clang_cc1 -target-cpu z14 -triple s390x-ibm-linux -flax-vector-conversions=none \
+// RUN: %clang_cc1 -target-cpu z14 -triple s390x-ibm-linux -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 
 typedef __attribute__((vector_size(16))) signed char vec_schar;

Modified: cfe/trunk/test/CodeGen/builtins-systemz-vector3.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-vector3.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-vector3.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-vector3.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // REQUIRES: systemz-registered-target
-// RUN: %clang_cc1 -target-cpu arch13 -triple s390x-ibm-linux -flax-vector-conversions=none \
+// RUN: %clang_cc1 -target-cpu arch13 -triple s390x-ibm-linux -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 
 typedef __attribute__((vector_size(16))) signed char vec_schar;

Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-zvector-error.c Thu Sep 12 22:16:59 2019
@@ -1,6 +1,6 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \
-// RUN: -fzvector -flax-vector-conversions=none \
+// RUN: -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s
 
 #include <vecintrin.h>

Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-zvector.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-zvector.c Thu Sep 12 22:16:59 2019
@@ -1,9 +1,9 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \
-// RUN: -O -fzvector -flax-vector-conversions=none \
+// RUN: -O -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \
-// RUN: -O -fzvector -flax-vector-conversions=none \
+// RUN: -O -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM
 
 #include <vecintrin.h>

Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-zvector2-error.c Thu Sep 12 22:16:59 2019
@@ -1,6 +1,6 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \
-// RUN: -fzvector -flax-vector-conversions=none \
+// RUN: -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s
 
 #include <vecintrin.h>

Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-zvector2.c Thu Sep 12 22:16:59 2019
@@ -1,9 +1,9 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \
-// RUN: -O -fzvector -flax-vector-conversions=none \
+// RUN: -O -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 // RUN: %clang_cc1 -target-cpu z14 -triple s390x-linux-gnu \
-// RUN: -O -fzvector -flax-vector-conversions=none \
+// RUN: -O -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM
 
 #include <vecintrin.h>

Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-zvector3-error.c Thu Sep 12 22:16:59 2019
@@ -1,6 +1,6 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu arch13 -triple s390x-linux-gnu \
-// RUN: -fzvector -flax-vector-conversions=none \
+// RUN: -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -fsyntax-only -verify %s
 
 #include <vecintrin.h>

Modified: cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c (original)
+++ cfe/trunk/test/CodeGen/builtins-systemz-zvector3.c Thu Sep 12 22:16:59 2019
@@ -1,9 +1,9 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu arch13 -triple s390x-linux-gnu \
-// RUN: -O -fzvector -flax-vector-conversions=none \
+// RUN: -O -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 // RUN: %clang_cc1 -target-cpu arch13 -triple s390x-linux-gnu \
-// RUN: -O -fzvector -flax-vector-conversions=none \
+// RUN: -O -fzvector -fno-lax-vector-conversions \
 // RUN: -Wall -Wno-unused -Werror -S %s -o - | FileCheck %s --check-prefix=CHECK-ASM
 
 #include <vecintrin.h>

Modified: cfe/trunk/test/CodeGen/builtins-wasm.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-wasm.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-wasm.c (original)
+++ cfe/trunk/test/CodeGen/builtins-wasm.c Thu Sep 12 22:16:59 2019
@@ -1,6 +1,6 @@
-// RUN: %clang_cc1 -triple wasm32-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -flax-vector-conversions=none -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY32
-// RUN: %clang_cc1 -triple wasm64-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -flax-vector-conversions=none -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY64
-// RUN: not %clang_cc1 -triple wasm64-unknown-unknown -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -flax-vector-conversions=none -O3 -emit-llvm -o - %s 2>&1 | FileCheck %s -check-prefixes MISSING-SIMD
+// RUN: %clang_cc1 -triple wasm32-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -fno-lax-vector-conversions -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY32
+// RUN: %clang_cc1 -triple wasm64-unknown-unknown -target-feature +unimplemented-simd128 -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -fno-lax-vector-conversions -O3 -emit-llvm -o - %s | FileCheck %s -check-prefixes WEBASSEMBLY,WEBASSEMBLY64
+// RUN: not %clang_cc1 -triple wasm64-unknown-unknown -target-feature +nontrapping-fptoint -target-feature +exception-handling -target-feature +bulk-memory -fno-lax-vector-conversions -O3 -emit-llvm -o - %s 2>&1 | FileCheck %s -check-prefixes MISSING-SIMD
 
 // SIMD convenience types
 typedef char i8x16 __attribute((vector_size(16)));

Modified: cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp (original)
+++ cfe/trunk/test/CodeGenCXX/builtins-systemz-zvector.cpp Thu Sep 12 22:16:59 2019
@@ -1,6 +1,6 @@
 // REQUIRES: systemz-registered-target
 // RUN: %clang_cc1 -target-cpu z13 -triple s390x-linux-gnu \
-// RUN: -fzvector -flax-vector-conversions=none -std=c++11 \
+// RUN: -fzvector -fno-lax-vector-conversions -std=c++11 \
 // RUN: -Wall -Wno-unused -Werror -emit-llvm %s -o - | FileCheck %s
 
 bool gb;

Modified: cfe/trunk/test/Headers/altivec-header.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/altivec-header.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Headers/altivec-header.c (original)
+++ cfe/trunk/test/Headers/altivec-header.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -o - %s | FileCheck %s
-// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -flax-vector-conversions=none -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -fno-lax-vector-conversions -o - %s | FileCheck %s
 // RUN: %clang_cc1 -triple powerpc64-unknown-unknown -target-feature +altivec -ffreestanding -emit-llvm -x c++ -o - %s | FileCheck %s
 
 #include <altivec.h>

Modified: cfe/trunk/test/Headers/arm-neon-header.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/arm-neon-header.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Headers/arm-neon-header.c (original)
+++ cfe/trunk/test/Headers/arm-neon-header.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -Wvector-conversions -ffreestanding %s
-// RUN: %clang_cc1 -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -flax-vector-conversions=none -ffreestanding %s
+// RUN: %clang_cc1 -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -fno-lax-vector-conversions -ffreestanding %s
 // RUN: %clang_cc1 -x c++ -triple thumbv7-apple-darwin10 -target-cpu cortex-a8 -fsyntax-only -Wvector-conversions -ffreestanding %s
 
 // RUN: %clang -fsyntax-only               -ffreestanding --target=aarch64-none-eabi -march=armv8.2-a+fp16 -std=c89 -xc %s

Modified: cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp (original)
+++ cfe/trunk/test/Headers/x86-intrinsics-headers-clean.cpp Thu Sep 12 22:16:59 2019
@@ -1,7 +1,7 @@
 // Make sure the intrinsic headers compile cleanly with no warnings or errors.
 
 // RUN: %clang_cc1 -ffreestanding -triple x86_64-unknown-unknown -Wsystem-headers \
-// RUN:   -fsyntax-only -flax-vector-conversions=none -x c++ -verify %s
+// RUN:   -fsyntax-only -fno-lax-vector-conversions -x c++ -verify %s
 
 // expected-no-diagnostics
 

Modified: cfe/trunk/test/Headers/x86-intrinsics-headers.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86-intrinsics-headers.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Headers/x86-intrinsics-headers.c (original)
+++ cfe/trunk/test/Headers/x86-intrinsics-headers.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s
-// RUN: %clang_cc1 -fsyntax-only -ffreestanding -flax-vector-conversions=none %s
+// RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s
 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s
 
 #if defined(i386) || defined(__x86_64__)

Modified: cfe/trunk/test/Headers/x86intrin-2.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86intrin-2.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Headers/x86intrin-2.c (original)
+++ cfe/trunk/test/Headers/x86intrin-2.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify
-// RUN: %clang_cc1 -fsyntax-only -ffreestanding -flax-vector-conversions=none %s -verify
+// RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s -verify
 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify
 // expected-no-diagnostics
 

Modified: cfe/trunk/test/Headers/x86intrin.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Headers/x86intrin.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Headers/x86intrin.c (original)
+++ cfe/trunk/test/Headers/x86intrin.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only -ffreestanding %s -verify
-// RUN: %clang_cc1 -fsyntax-only -ffreestanding -flax-vector-conversions=none %s -verify
+// RUN: %clang_cc1 -fsyntax-only -ffreestanding -fno-lax-vector-conversions %s -verify
 // RUN: %clang_cc1 -fsyntax-only -ffreestanding -x c++ %s -verify
 // expected-no-diagnostics
 

Modified: cfe/trunk/test/Sema/ext_vector_casts.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/ext_vector_casts.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Sema/ext_vector_casts.c (original)
+++ cfe/trunk/test/Sema/ext_vector_casts.c Thu Sep 12 22:16:59 2019
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple x86_64-apple-macos10.7.0 -fsyntax-only -verify -flax-vector-conversions=none -Wconversion %s
+// RUN: %clang_cc1 -triple x86_64-apple-macos10.7.0 -fsyntax-only -verify -fno-lax-vector-conversions -Wconversion %s
 
 typedef __attribute__((ext_vector_type(8))) _Bool BoolVector; // expected-error {{invalid vector element type '_Bool'}}
 

Modified: cfe/trunk/test/Sema/typedef-retain.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/typedef-retain.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Sema/typedef-retain.c (original)
+++ cfe/trunk/test/Sema/typedef-retain.c Thu Sep 12 22:16:59 2019
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -fsyntax-only -verify %s -flax-vector-conversions=none
+// RUN: %clang_cc1 -fsyntax-only -verify %s -fno-lax-vector-conversions
 
 typedef float float4 __attribute__((vector_size(16)));
 typedef int int4 __attribute__((vector_size(16)));

Modified: cfe/trunk/test/Sema/zvector.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/zvector.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Sema/zvector.c (original)
+++ cfe/trunk/test/Sema/zvector.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -triple s390x-linux-gnu -fzvector \
-// RUN:  -flax-vector-conversions=none -W -Wall -Wconversion \
+// RUN:  -fno-lax-vector-conversions -W -Wall -Wconversion \
 // RUN:  -Werror -fsyntax-only -verify %s
 
 vector signed char sc, sc2;

Modified: cfe/trunk/test/Sema/zvector2.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/zvector2.c?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/Sema/zvector2.c (original)
+++ cfe/trunk/test/Sema/zvector2.c Thu Sep 12 22:16:59 2019
@@ -1,5 +1,5 @@
 // RUN: %clang_cc1 -triple s390x-linux-gnu -fzvector -target-cpu z14 \
-// RUN:  -flax-vector-conversions=none -W -Wall -Wconversion \
+// RUN:  -fno-lax-vector-conversions -W -Wall -Wconversion \
 // RUN:  -Werror -fsyntax-only -verify %s
 
 vector signed char sc, sc2;

Modified: cfe/trunk/test/SemaCXX/altivec.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/altivec.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/altivec.cpp (original)
+++ cfe/trunk/test/SemaCXX/altivec.cpp Thu Sep 12 22:16:59 2019
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -target-feature +altivec -flax-vector-conversions=none -triple powerpc-unknown-unknown -fcxx-exceptions -verify %s
+// RUN: %clang_cc1 -target-feature +altivec -fno-lax-vector-conversions -triple powerpc-unknown-unknown -fcxx-exceptions -verify %s
 
 typedef int V4i __attribute__((vector_size(16)));
 

Modified: cfe/trunk/test/SemaCXX/vector-no-lax.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/vector-no-lax.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/vector-no-lax.cpp (original)
+++ cfe/trunk/test/SemaCXX/vector-no-lax.cpp Thu Sep 12 22:16:59 2019
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -flax-vector-conversions=none -verify %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fno-lax-vector-conversions -verify %s
 typedef unsigned int __attribute__((vector_size (16))) vUInt32;
 typedef int __attribute__((vector_size (16))) vSInt32;
 

Modified: cfe/trunk/test/SemaCXX/vector.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/vector.cpp?rev=371813&r1=371812&r2=371813&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/vector.cpp (original)
+++ cfe/trunk/test/SemaCXX/vector.cpp Thu Sep 12 22:16:59 2019
@@ -1,8 +1,6 @@
-// RUN: %clang_cc1 -flax-vector-conversions=all -triple x86_64-apple-darwin10 -fsyntax-only -verify %s
-// RUN: %clang_cc1 -flax-vector-conversions=all -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++98 %s
-// RUN: %clang_cc1 -flax-vector-conversions=all -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++11 %s
-// RUN: %clang_cc1 -flax-vector-conversions=integer -triple x86_64-apple-darwin10 -fsyntax-only -verify %s -DNO_LAX_FLOAT
-// RUN: %clang_cc1 -flax-vector-conversions=none -triple x86_64-apple-darwin10 -fsyntax-only -verify %s -DNO_LAX_FLOAT -DNO_LAX_INT
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++98 %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify -std=c++11 %s
 
 typedef char char16 __attribute__ ((__vector_size__ (16)));
 typedef long long longlong16 __attribute__ ((__vector_size__ (16)));
@@ -10,19 +8,13 @@ typedef char char16_e __attribute__ ((__
 typedef long long longlong16_e __attribute__ ((__ext_vector_type__ (2)));
 
 // Test overloading and function calls with vector types.
-void f0(char16); // expected-note 0+{{candidate}}
+void f0(char16);
 
 void f0_test(char16 c16, longlong16 ll16, char16_e c16e, longlong16_e ll16e) {
   f0(c16);
   f0(ll16);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{no matching function}}
-#endif
   f0(c16e);
   f0(ll16e);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{no matching function}}
-#endif
 }
 
 int &f1(char16);
@@ -35,14 +27,12 @@ void f1_test(char16 c16, longlong16 ll16
   float &fr2 = f1(ll16e);
 }
 
-void f2(char16_e); // expected-note 0+{{candidate}}
+void f2(char16_e); // expected-note{{no known conversion from 'longlong16_e' (vector of 2 'long long' values) to 'char16_e' (vector of 16 'char' values) for 1st argument}} \
+       // expected-note{{candidate function not viable: no known conversion from 'convertible_to<longlong16_e>' to 'char16_e' (vector of 16 'char' values) for 1st argument}}
 
 void f2_test(char16 c16, longlong16 ll16, char16_e c16e, longlong16_e ll16e) {
   f2(c16);
   f2(ll16);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{no matching function}}
-#endif
   f2(c16e);
   f2(ll16e); // expected-error{{no matching function}}
   f2('a');
@@ -68,11 +58,6 @@ void conditional(bool Cond, char16 c16,
   (void)(Cond? c16 : ll16);
   (void)(Cond? ll16e : c16e);
   (void)(Cond? ll16e : c16);
-#ifdef NO_LAX_INT
-  // expected-error at -4 {{cannot convert}}
-  // expected-error at -4 {{cannot convert}}
-  // expected-error at -4 {{cannot convert}}
-#endif
 }
 
 // Test C++ cast'ing of vector types.
@@ -100,16 +85,9 @@ void casts(longlong16 ll16, longlong16_e
   // static_cast
   (void)static_cast<char16>(ll16);
   (void)static_cast<char16_e>(ll16);
-#ifdef NO_LAX_INT
-  // expected-error at -3 {{not allowed}}
-  // expected-error at -3 {{not allowed}}
-#endif
   (void)static_cast<longlong16>(ll16);
   (void)static_cast<longlong16_e>(ll16);
   (void)static_cast<char16>(ll16e);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{not allowed}}
-#endif
   (void)static_cast<char16_e>(ll16e); // expected-error{{static_cast from 'longlong16_e' (vector of 2 'long long' values) to 'char16_e' (vector of 16 'char' values) is not allowed}}
   (void)static_cast<longlong16>(ll16e);
   (void)static_cast<longlong16_e>(ll16e);
@@ -143,19 +121,10 @@ void test_implicit_conversions(bool Cond
                                convertible_to<char16_e&> rto_c16e) {
   f0(to_c16);
   f0(to_ll16);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{no matching function}}
-#endif
   f0(to_c16e);
   f0(to_ll16e);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{no matching function}}
-#endif
   f2(to_c16);
   f2(to_ll16);
-#ifdef NO_LAX_INT
-  // expected-error at -2 {{no matching function}}
-#endif
   f2(to_c16e);
   f2(to_ll16e); // expected-error{{no matching function}}
 
@@ -224,10 +193,6 @@ void test_implicit_conversions(bool Cond
   // These 2 are convertible with -flax-vector-conversions (default)
   (void)(Cond? to_c16 : to_ll16);
   (void)(Cond? to_c16e : to_ll16e);
-#ifdef NO_LAX_INT
-  // expected-error at -3 {{cannot convert}}
-  // expected-error at -3 {{cannot convert}}
-#endif
 }
 
 typedef float fltx2 __attribute__((__vector_size__(8)));
@@ -238,10 +203,6 @@ typedef double dblx4 __attribute__((__ve
 void accept_fltx2(fltx2); // expected-note{{candidate function not viable: no known conversion from 'double' to 'fltx2' (vector of 2 'float' values) for 1st argument}}
 void accept_fltx4(fltx4);
 void accept_dblx2(dblx2);
-#ifdef NO_LAX_FLOAT
-// expected-note at -3 {{no known conversion}}
-// expected-note at -3 {{no known conversion}}
-#endif
 void accept_dblx4(dblx4);
 void accept_bool(bool); // expected-note{{candidate function not viable: no known conversion from 'fltx2' (vector of 2 'float' values) to 'bool' for 1st argument}}
 
@@ -253,12 +214,9 @@ void test(fltx2 fltx2_val, fltx4 fltx4_v
   accept_dblx4(dblx4_val);
 
   // Same-size conversions
+  // FIXME: G++ rejects these conversions, we accept them. Revisit this!
   accept_fltx4(dblx2_val);
   accept_dblx2(fltx4_val);
-#ifdef NO_LAX_FLOAT
-  // expected-error at -3 {{no matching function}}
-  // expected-error at -3 {{no matching function}}
-#endif
 
   // Conversion to bool.
   accept_bool(fltx2_val); // expected-error{{no matching function for call to 'accept_bool'}}
@@ -269,9 +227,9 @@ void test(fltx2 fltx2_val, fltx4 fltx4_v
 
 typedef int intx4 __attribute__((__vector_size__(16)));
 typedef int inte4 __attribute__((__ext_vector_type__(4)));
-typedef float flte4 __attribute__((__ext_vector_type__(4)));
+typedef int flte4 __attribute__((__ext_vector_type__(4)));
 
-void test_mixed_vector_types(fltx4 f, intx4 n, flte4 g, inte4 m) {
+void test_mixed_vector_types(fltx4 f, intx4 n, flte4 g, flte4 m) {
   (void)(f == g);
   (void)(g != f);
   (void)(f <= g);
@@ -337,40 +295,40 @@ typedef bool bad __attribute__((__vector
 namespace Templates {
 template <typename Elt, unsigned Size>
 struct TemplateVectorType {
-  typedef Elt __attribute__((__vector_size__(Size))) type; // #1
+  typedef Elt __attribute__((__vector_size__(Size))) type;
 };
 
 template <int N, typename T>
 struct PR15730 {
   typedef T __attribute__((vector_size(N * sizeof(T)))) type;
-  typedef T __attribute__((vector_size(8192))) type2; // #2
-  typedef T __attribute__((vector_size(3))) type3; // #3
+  typedef T __attribute__((vector_size(8192))) type2;
+  typedef T __attribute__((vector_size(3))) type3;
 };
 
 void Init() {
   const TemplateVectorType<float, 32>::type Works = {};
   const TemplateVectorType<int, 32>::type Works2 = {};
-  // expected-error@#1 {{invalid vector element type 'bool'}}
+  // expected-error at 298 {{invalid vector element type 'bool'}}
   // expected-note at +1 {{in instantiation of template class 'Templates::TemplateVectorType<bool, 32>' requested here}}
   const TemplateVectorType<bool, 32>::type NoBool;
-  // expected-error@#1 {{invalid vector element type 'int __attribute__((ext_vector_type(4)))' (vector of 4 'int' values)}}
+  // expected-error at 298 {{invalid vector element type 'int __attribute__((ext_vector_type(4)))' (vector of 4 'int' values)}}
   // expected-note at +1 {{in instantiation of template class 'Templates::TemplateVectorType<int __attribute__((ext_vector_type(4))), 32>' requested here}}
   const TemplateVectorType<vi4, 32>::type NoComplex;
-  // expected-error@#1 {{vector size not an integral multiple of component size}}
+  // expected-error at 298 {{vector size not an integral multiple of component size}}
   // expected-note at +1 {{in instantiation of template class 'Templates::TemplateVectorType<int, 33>' requested here}}
   const TemplateVectorType<int, 33>::type BadSize;
-  // expected-error@#1 {{vector size too large}}
+  // expected-error at 298 {{vector size too large}}
   // expected-note at +1 {{in instantiation of template class 'Templates::TemplateVectorType<int, 8192>' requested here}}
   const TemplateVectorType<int, 8192>::type TooLarge;
-  // expected-error@#1 {{zero vector size}}
+  // expected-error at 298 {{zero vector size}}
   // expected-note at +1 {{in instantiation of template class 'Templates::TemplateVectorType<int, 0>' requested here}}
   const TemplateVectorType<int, 0>::type Zero;
 
-  // expected-error@#2 {{vector size too large}}
-  // expected-error@#3 {{vector size not an integral multiple of component size}}
+  // expected-error at 304 {{vector size too large}}
+  // expected-error at 305 {{vector size not an integral multiple of component size}}
   // expected-note at +1 {{in instantiation of template class 'Templates::PR15730<8, int>' requested here}}
   const PR15730<8, int>::type PR15730_1 = {};
-  // expected-error@#2 {{vector size too large}}
+  // expected-error at 304 {{vector size too large}}
   // expected-note at +1 {{in instantiation of template class 'Templates::PR15730<8, char>' requested here}}
   const PR15730<8, char>::type2 PR15730_2 = {};
 }




More information about the cfe-commits mailing list