Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reland "[Vectorize] Fix warnings"" #105772

Conversation

vitalybuka
Copy link
Collaborator

@vitalybuka vitalybuka commented Aug 23, 2024

Revert was wrong,

The bot is still broken https://lab.llvm.org/buildbot/#/builders/51/builds/2838

Reverts #105771

@llvmbot
Copy link
Member

llvmbot commented Aug 23, 2024

@llvm/pr-subscribers-llvm-transforms

Author: Vitaly Buka (vitalybuka)

Changes

Reverts llvm/llvm-project#105771


Full diff: https://github.com/llvm/llvm-project/pull/105772.diff

1 Files Affected:

  • (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+4-4)
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index afaef6f9da9872..e8ab6839d9fa87 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -9297,7 +9297,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
       for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx)
         if (CommonMask[Idx] != PoisonMaskElem)
           CommonMask[Idx] = Idx;
-      for (const auto [E, Idx] : SubVectors) {
+      for (const auto &[E, Idx] : SubVectors) {
         Cost += ::getShuffleCost(
             TTI, TTI::SK_InsertSubvector,
             FixedVectorType::get(ScalarTy, CommonMask.size()), std::nullopt,
@@ -12455,7 +12455,7 @@ class BoUpSLP::ShuffleInstructionBuilder final : public BaseShuffleAnalysis {
       for (unsigned Idx = 0, Sz = CommonMask.size(); Idx < Sz; ++Idx)
         if (CommonMask[Idx] != PoisonMaskElem)
           CommonMask[Idx] = Idx;
-      for (const auto [E, Idx] : SubVectors) {
+      for (const auto &[E, Idx] : SubVectors) {
         Vec = Builder.CreateInsertVector(
             Vec->getType(), Vec, E->VectorizedValue, Builder.getInt64(Idx));
         if (!CommonMask.empty()) {
@@ -12636,7 +12636,7 @@ ResTy BoUpSLP::processBuildVector(const TreeEntry *E, Type *ScalarTy,
                                        E->ReuseShuffleIndices.end());
   SmallVector<Value *> GatheredScalars(E->Scalars.begin(), E->Scalars.end());
   // Clear values, to be replaced by insertvector instructions.
-  for (const auto [EIdx, Idx] : E->CombinedEntriesWithIndices)
+  for (const auto &[EIdx, Idx] : E->CombinedEntriesWithIndices)
     for_each(MutableArrayRef(GatheredScalars)
                  .slice(Idx, VectorizableTree[EIdx]->getVectorFactor()),
              [&](Value *&V) { V = PoisonValue::get(V->getType()); });
@@ -13073,7 +13073,7 @@ ResTy BoUpSLP::processBuildVector(const TreeEntry *E, Type *ScalarTy,
 }
 
 Value *BoUpSLP::createBuildVector(const TreeEntry *E, Type *ScalarTy) {
-  for (const auto [EIdx, _] : E->CombinedEntriesWithIndices)
+  for (const auto &[EIdx, _] : E->CombinedEntriesWithIndices)
     (void)vectorizeTree(VectorizableTree[EIdx].get(), /*PostponedPHIs=*/false);
   return processBuildVector<ShuffleInstructionBuilder, Value *>(E, ScalarTy,
                                                                 Builder, *this);

@vitalybuka vitalybuka marked this pull request as draft August 23, 2024 03:05
@vitalybuka vitalybuka marked this pull request as ready for review August 23, 2024 04:10
@vitalybuka vitalybuka changed the title Revert "Revert "[Vectorize] Fix warnings"" Reland "[Vectorize] Fix warnings"" Aug 23, 2024
@vitalybuka
Copy link
Collaborator Author

@kazutakahirata Sorry for the noise, there was a verbal claim that this patch crashes compiler, and I didn't verified the the claim.

@vitalybuka vitalybuka merged commit 351f4a5 into main Aug 23, 2024
10 of 13 checks passed
@vitalybuka vitalybuka deleted the revert-105771-users/vitalybuka/spr/revert-vectorize-fix-warnings branch August 23, 2024 04:14
@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 23, 2024

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux-fuzzer running on sanitizer-buildbot11 while building llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/159/builds/4484

Here is the relevant piece of the build log for the reference:

Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
-- Configuring done (8.8s)
-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    LIBCXX_HAS_GCC_S_LIB


-- Build files have been written to: /home/b/sanitizer-aarch64-linux-fuzzer/build/llvm_build0/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64
[1890/1986] Building CXX object compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o
FAILED: compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o 
/home/b/sanitizer-aarch64-linux-fuzzer/build/llvm_build0/./bin/clang++ --target=aarch64-unknown-linux-gnu -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux-fuzzer/build/llvm-project/compiler-rt/lib/ubsan_minimal/.. -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -Wno-unused-parameter -O3 -DNDEBUG -std=c++17 -march=armv8-a -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -ftrivial-auto-var-init=pattern -nostdinc++ -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS -fno-rtti -MD -MT compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o -MF compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o.d -o compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o -c /home/b/sanitizer-aarch64-linux-fuzzer/build/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
fatal error: error in backend: Cannot select: 0xab507d46a3e0: v16i8 = insert_subvector 0xab507d46a060, 0xab507d2b8470, Constant:i64<10>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
  0xab507d46a060: v16i8 = insert_subvector 0xab507d2b8da0, 0xab507d3356b0, Constant:i64<12>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
    0xab507d2b8da0: v16i8 = insert_vector_elt 0xab507d335790, 0xab507d2b80f0, Constant:i64<9>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
      0xab507d335790: v16i8 = insert_vector_elt 0xab507d423520, 0xab507d423360, Constant:i64<8>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
        0xab507d423520: v16i8 = insert_vector_elt 0xab507d4746a0, 0xab507d474400, Constant:i64<7>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
          0xab507d4746a0: v16i8 = insert_vector_elt 0xab507d46f0b0, 0xab507d474390, Constant:i64<6>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
            0xab507d46f0b0: v16i8 = insert_vector_elt 0xab507d3364b0, 0xab507d474320, Constant:i64<5>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
              0xab507d3364b0: v16i8 = insert_vector_elt 0xab507d46a8b0, 0xab507d46d1e0, Constant:i64<4>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                0xab507d46a8b0: v16i8 = insert_vector_elt 0xab507d4748d0, 0xab507d46f9e0, Constant:i64<3>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                  0xab507d4748d0: v16i8 = insert_vector_elt 0xab507d474860, 0xab507d46d480, Constant:i64<2>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16



                  0xab507d46f9e0: i32 = extract_vector_elt 0xab507d4740f0, Constant:i64<1>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16


                  0xab507d2b8630: i64 = Constant<3>
                0xab507d46d1e0: i32 = extract_vector_elt 0xab507d474160, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                  0xab507d474160: v8i16 = insert_subvector undef:v8i16, 0xab507d46d090, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23



                  0xab507d4234b0: i64 = Constant<0>
                0xab507d4239f0: i64 = Constant<4>
              0xab507d474320: i32 = extract_vector_elt 0xab507d474160, Constant:i64<1>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                0xab507d474160: v8i16 = insert_subvector undef:v8i16, 0xab507d46d090, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23
                  0xab507d474630: v8i16 = undef
                  0xab507d46d090: v4i16 = and 0xab507d46d3a0, 0xab507d336360, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23


                  0xab507d4234b0: i64 = Constant<0>
                0xab507d3360c0: i64 = Constant<1>
              0xab507d3359c0: i64 = Constant<5>
            0xab507d474390: i32 = extract_vector_elt 0xab507d474160, Constant:i64<2>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
              0xab507d474160: v8i16 = insert_subvector undef:v8i16, 0xab507d46d090, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23
                0xab507d474630: v8i16 = undef
                0xab507d46d090: v4i16 = and 0xab507d46d3a0, 0xab507d336360, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23
Step 7 (stage1 build all) failure: stage1 build all (failure)
...
-- Performing Test CXX_SUPPORTS_FSIZED_DEALLOCATION_FLAG - Success
-- check-runtimes does nothing.
-- Configuring done (8.8s)
-- Generating done (0.1s)
CMake Warning:
  Manually-specified variables were not used by the project:

    LIBCXX_HAS_GCC_S_LIB
-- Build files have been written to: /home/b/sanitizer-aarch64-linux-fuzzer/build/llvm_build0/runtimes/runtimes-bins/compiler-rt/lib/fuzzer/libcxx_fuzzer_aarch64
[1890/1986] Building CXX object compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o
FAILED: compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o 
/home/b/sanitizer-aarch64-linux-fuzzer/build/llvm_build0/./bin/clang++ --target=aarch64-unknown-linux-gnu -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux-fuzzer/build/llvm-project/compiler-rt/lib/ubsan_minimal/.. -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -Wno-unused-parameter -O3 -DNDEBUG -std=c++17 -march=armv8-a -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fno-stack-protector -fno-sanitize=safe-stack -fvisibility=hidden -fno-lto -Wthread-safety -Wthread-safety-reference -Wthread-safety-beta -O3 -gline-tables-only -Wno-gnu -Wno-variadic-macros -Wno-c99-extensions -ftrivial-auto-var-init=pattern -nostdinc++ -DSANITIZER_COMMON_NO_REDEFINE_BUILTINS -fno-rtti -MD -MT compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o -MF compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o.d -o compiler-rt/lib/ubsan_minimal/CMakeFiles/RTUbsan_minimal.aarch64.dir/ubsan_minimal_handlers.cpp.o -c /home/b/sanitizer-aarch64-linux-fuzzer/build/llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
fatal error: error in backend: Cannot select: 0xab507d46a3e0: v16i8 = insert_subvector 0xab507d46a060, 0xab507d2b8470, Constant:i64<10>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
  0xab507d46a060: v16i8 = insert_subvector 0xab507d2b8da0, 0xab507d3356b0, Constant:i64<12>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
    0xab507d2b8da0: v16i8 = insert_vector_elt 0xab507d335790, 0xab507d2b80f0, Constant:i64<9>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
      0xab507d335790: v16i8 = insert_vector_elt 0xab507d423520, 0xab507d423360, Constant:i64<8>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
        0xab507d423520: v16i8 = insert_vector_elt 0xab507d4746a0, 0xab507d474400, Constant:i64<7>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
          0xab507d4746a0: v16i8 = insert_vector_elt 0xab507d46f0b0, 0xab507d474390, Constant:i64<6>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
            0xab507d46f0b0: v16i8 = insert_vector_elt 0xab507d3364b0, 0xab507d474320, Constant:i64<5>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
              0xab507d3364b0: v16i8 = insert_vector_elt 0xab507d46a8b0, 0xab507d46d1e0, Constant:i64<4>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                0xab507d46a8b0: v16i8 = insert_vector_elt 0xab507d4748d0, 0xab507d46f9e0, Constant:i64<3>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                  0xab507d4748d0: v16i8 = insert_vector_elt 0xab507d474860, 0xab507d46d480, Constant:i64<2>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16



                  0xab507d46f9e0: i32 = extract_vector_elt 0xab507d4740f0, Constant:i64<1>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16


                  0xab507d2b8630: i64 = Constant<3>
                0xab507d46d1e0: i32 = extract_vector_elt 0xab507d474160, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                  0xab507d474160: v8i16 = insert_subvector undef:v8i16, 0xab507d46d090, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23



                  0xab507d4234b0: i64 = Constant<0>
                0xab507d4239f0: i64 = Constant<4>
              0xab507d474320: i32 = extract_vector_elt 0xab507d474160, Constant:i64<1>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
                0xab507d474160: v8i16 = insert_subvector undef:v8i16, 0xab507d46d090, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23
                  0xab507d474630: v8i16 = undef
                  0xab507d46d090: v4i16 = and 0xab507d46d3a0, 0xab507d336360, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23


                  0xab507d4234b0: i64 = Constant<0>
                0xab507d3360c0: i64 = Constant<1>
              0xab507d3359c0: i64 = Constant<5>
            0xab507d474390: i32 = extract_vector_elt 0xab507d474160, Constant:i64<2>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:60:16
              0xab507d474160: v8i16 = insert_subvector undef:v8i16, 0xab507d46d090, Constant:i64<0>, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23
                0xab507d474630: v8i16 = undef
                0xab507d46d090: v4i16 = and 0xab507d46d3a0, 0xab507d336360, llvm-project/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp:59:23

cjdb pushed a commit to cjdb/llvm-project that referenced this pull request Aug 23, 2024
dmpolukhin pushed a commit to dmpolukhin/llvm-project that referenced this pull request Sep 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants