@@ -794,113 +794,60 @@ diff -ruN --strip-trailing-cr a/libcxx/test/std/localization/locale.categories/c
794794
795795 return 0;
796796 }
797- diff -ruN --strip-trailing-cr a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
798- --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
799- +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
800- @@ -14103,9 +14103,7 @@
801- TEUseEI.UserTE->getOpcode() == Instruction::PHI &&
802- UseEI.UserTE->State == TreeEntry::Vectorize &&
803- UseEI.UserTE->getOpcode() == Instruction::PHI &&
804- - TEUseEI.UserTE != UseEI.UserTE &&
805- - TEUseEI.UserTE->getMainOp()->getParent() ==
806- - UseEI.UserTE->getMainOp()->getParent())
807- + TEUseEI.UserTE != UseEI.UserTE)
808- continue;
809- // If 2 gathers are operands of the same entry (regardless of whether
810- // user is PHI or else), compare operands indices, use the earlier one
811- diff -ruN --strip-trailing-cr a/llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll b/llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
812- --- a/llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
813- +++ b/llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
814- @@ -29,9 +29,9 @@
815- ; CHECK-NEXT: tail call void @foo(float [[MUL]])
816- ; CHECK-NEXT: [[I2:%.*]] = load float, ptr poison, align 4
817- ; CHECK-NEXT: [[TOBOOL:%.*]] = fcmp une float [[I2]], 0.000000e+00
818- + ; CHECK-NEXT: [[TMP10]] = insertelement <2 x float> [[TMP2]], float [[I2]], i32 0
819- ; CHECK-NEXT: [[TMP8:%.*]] = shufflevector <2 x float> [[TMP5]], <2 x float> poison, <2 x i32> <i32 poison, i32 0>
820- ; CHECK-NEXT: [[TMP9]] = insertelement <2 x float> [[TMP8]], float [[I2]], i32 0
821- - ; CHECK-NEXT: [[TMP10]] = shufflevector <2 x float> [[TMP9]], <2 x float> [[TMP2]], <2 x i32> <i32 0, i32 3>
822- ; CHECK-NEXT: br i1 [[TOBOOL]], label [[BB1]], label [[BB2]]
823- ;
824- entry:
825- diff -ruN --strip-trailing-cr a/llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll b/llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
826- --- a/llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
827- +++ b/llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
828- @@ -8,7 +8,7 @@
829- ; YAML: Function: test
830- ; YAML: Args:
831- ; YAML: - String: 'Stores SLP vectorized with cost '
832- - ; YAML: - Cost: '-6'
833- + ; YAML: - Cost: '-3'
834- ; YAML: - String: ' and with tree size '
835- ; YAML: - TreeSize: '16'
836- ; YAML: ...
837- diff -ruN --strip-trailing-cr a/llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-incoming-same-blocks.ll b/llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-incoming-same-blocks.ll
838- --- a/llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-incoming-same-blocks.ll
839- +++ b/llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-incoming-same-blocks.ll
840- @@ -0,0 +1,63 @@
841- + ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
842- + ; RUN: opt -S --passes=slp-vectorizer -mtriple=x86_64-unknown-linux-gnu -mcpu=cascadelake < %s | FileCheck %s
843- +
844- + define void @test(ptr %0, i1 %1, i1 %2) {
845- + ; CHECK-LABEL: define void @test(
846- + ; CHECK-SAME: ptr [[TMP0:%.*]], i1 [[TMP1:%.*]], i1 [[TMP2:%.*]]) #[[ATTR0:[0-9]+]] {
847- + ; CHECK-NEXT: br label %[[BB4:.*]]
848- + ; CHECK: [[BB4]]:
849- + ; CHECK-NEXT: [[TMP5:%.*]] = phi <2 x i32> [ [[TMP12:%.*]], %[[TMP7:.*]] ], [ zeroinitializer, [[TMP3:%.*]] ]
850- + ; CHECK-NEXT: [[TMP6:%.*]] = shufflevector <2 x i32> [[TMP5]], <2 x i32> poison, <4 x i32> <i32 0, i32 0, i32 0, i32 1>
851- + ; CHECK-NEXT: br i1 [[TMP1]], label %[[TMP7]], label %[[BB14:.*]]
852- + ; CHECK: [[TMP7]]:
853- + ; CHECK-NEXT: [[TMP8:%.*]] = load ptr, ptr [[TMP0]], align 8
854- + ; CHECK-NEXT: [[TMP9:%.*]] = getelementptr i8, ptr [[TMP8]], i64 16
855- + ; CHECK-NEXT: [[TMP10:%.*]] = load <2 x i32>, ptr [[TMP9]], align 1
856- + ; CHECK-NEXT: [[TMP11:%.*]] = or <2 x i32> [[TMP10]], splat (i32 1)
857- + ; CHECK-NEXT: [[TMP12]] = shufflevector <2 x i32> [[TMP11]], <2 x i32> <i32 1, i32 poison>, <2 x i32> <i32 2, i32 1>
858- + ; CHECK-NEXT: [[TMP13:%.*]] = call <4 x i32> @llvm.vector.insert.v4i32.v2i32(<4 x i32> <i32 0, i32 0, i32 poison, i32 poison>, <2 x i32> [[TMP11]], i64 2)
859- + ; CHECK-NEXT: br i1 [[TMP2]], label %[[BB15:.*]], label %[[BB4]]
860- + ; CHECK: [[BB14]]:
861- + ; CHECK-NEXT: br label %[[BB15]]
862- + ; CHECK: [[BB15]]:
863- + ; CHECK-NEXT: [[TMP16:%.*]] = phi <4 x i32> [ [[TMP6]], %[[BB14]] ], [ [[TMP13]], %[[TMP7]] ]
864- + ; CHECK-NEXT: [[TMP17:%.*]] = load volatile ptr, ptr null, align 8
865- + ; CHECK-NEXT: [[TMP18:%.*]] = getelementptr i8, ptr [[TMP17]], i64 176
866- + ; CHECK-NEXT: store <4 x i32> [[TMP16]], ptr [[TMP18]], align 8
867- + ; CHECK-NEXT: ret void
868- + ;
869- + br label %4
870- +
871- + 4:
872- + %5 = phi i32 [ %14, %7 ], [ 0, %3 ]
873- + %6 = phi i32 [ 1, %7 ], [ 0, %3 ]
874- + br i1 %1, label %7, label %15
875- +
876- + 7:
877- + %8 = load ptr, ptr %0, align 8
878- + %9 = getelementptr i8, ptr %8, i64 16
879- + %10 = load i32, ptr %9, align 1
880- + %11 = or i32 %10, 1
881- + %12 = getelementptr i8, ptr %8, i64 20
882- + %13 = load i32, ptr %12, align 1
883- + %14 = or i32 %13, 1
884- + br i1 %2, label %16, label %4
885- +
886- + 15:
887- + br label %16
797+ diff -ruN --strip-trailing-cr a/llvm/test/CodeGen/AMDGPU/si-fold-operands-requires-ssa.mir b/llvm/test/CodeGen/AMDGPU/si-fold-operands-requires-ssa.mir
798+ --- a/llvm/test/CodeGen/AMDGPU/si-fold-operands-requires-ssa.mir
799+ +++ b/llvm/test/CodeGen/AMDGPU/si-fold-operands-requires-ssa.mir
800+ @@ -1,3 +1,4 @@
801+ + # REQUIRES: asserts
802+ # RUN: not --crash llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=si-fold-operands -filetype=null %s 2>&1 | FileCheck -check-prefixes=ERR-LEGACY,ERR %s
803+ # RUN: not --crash llc -mtriple=amdgcn -mcpu=gfx900 -passes=si-fold-operands -filetype=null %s 2>&1 | FileCheck -check-prefixes=ERR-NPM,ERR %s
804+
805+ diff -ruN --strip-trailing-cr a/mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir b/mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
806+ --- a/mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
807+ +++ b/mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
808+ @@ -14,7 +14,7 @@
809+ // RUN: mlir-opt --convert-vector-to-llvm --dump-pass-pipeline %s 2>&1 | FileCheck %s --check-prefix=DEFAULT
810+
811+ // RUN: mlir-opt --convert-vector-to-llvm='vector-contract-lowering=matmul vector-transpose-lowering=flat' \
812+ - // RUN: --dump-pass-pipeline 2>&1 | FileCheck %s --check-prefix=NON-DEFAULT
813+ + // RUN: --dump-pass-pipeline %s 2>&1 | FileCheck %s --check-prefix=NON-DEFAULT
814+
815+ // CHECK: builtin.module(
816+ // CHECK-SAME: convert-vector-to-llvm{
817+ diff -ruN --strip-trailing-cr a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
818+ --- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
819+ +++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel
820+ @@ -1591,7 +1591,10 @@
821+
822+ libc_support_library(
823+ name = "libc_external_common",
824+ - hdrs = glob(["shared/*.h"]),
825+ + hdrs = glob(
826+ + ["shared/*.h"],
827+ + exclude = ["shared/rpc_server.h"],
828+ + ),
829+ deps = [
830+ ":__support_common",
831+ ":__support_fputil_fp_bits",
832+ diff -ruN --strip-trailing-cr a/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl b/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
833+ --- a/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
834+ +++ b/utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
835+ @@ -128,7 +128,6 @@
836+
837+ _libc_library_filegroups(name = name, is_function = True, **kwargs)
838+
839+ -
840+ # TODO(PR #130327): Remove this after downstream uses are migrated to libc_release_library.
841+ # This second target is the llvm libc C function with default visibility.
842+ func_attrs = [
843+ @@ -156,6 +155,7 @@
844+ weak_symbols: List of function names that should be marked as weak symbols.
845+ **kwargs: Other arguments relevant to cc_library.
846+ """
888847+
889- + 16:
890- + %17 = phi i32 [ %6, %15 ], [ 0, %7 ]
891- + %18 = phi i32 [ %6, %15 ], [ %11, %7 ]
892- + %19 = phi i32 [ %5, %15 ], [ %14, %7 ]
893- + %20 = load volatile ptr, ptr null, align 8
894- + %21 = getelementptr i8, ptr %20, i64 176
895- + store i32 %17, ptr %21, align 8
896- + %22 = getelementptr i8, ptr %20, i64 180
897- + store i32 %17, ptr %22, align 4
898- + %23 = getelementptr i8, ptr %20, i64 184
899- + store i32 %18, ptr %23, align 8
900- + %24 = getelementptr i8, ptr %20, i64 188
901- + store i32 %19, ptr %24, align 4
902- + ret void
903- + }
848+ # Combine all sources into a single filegroup to avoid repeated sources error.
849+ native.filegroup(
850+ name = name + "_srcs",
904851diff -ruN --strip-trailing-cr a/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl b/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
905852--- a/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
906853+++ b/utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
0 commit comments