Skip to content

Commit 84efad1

Browse files
Updates LLVM usage to match [3959bbc1345b](llvm/llvm-project@3959bbc1345b) PiperOrigin-RevId: 738981090
1 parent d72cf23 commit 84efad1

File tree

4 files changed

+178
-2217
lines changed

4 files changed

+178
-2217
lines changed

third_party/llvm/generated.patch

Lines changed: 53 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -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",
904851
diff -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

third_party/llvm/workspace.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ load("//third_party:repo.bzl", "tf_http_archive")
44

55
def repo(name):
66
"""Imports LLVM."""
7-
LLVM_COMMIT = "0230d63b4a8b9f420b0aaac373891df1199715a8"
8-
LLVM_SHA256 = "27641dbb2ee0fecb6f084a4300b0c27ac692c2d1214fad236dc5e19dd7962693"
7+
LLVM_COMMIT = "3959bbc1345b9eb99b208e816a86e6a39103c345"
8+
LLVM_SHA256 = "e3d71ff1bbc9512816a2db0a8eddd8b49717487eed8318ec67a7ac593e4b652c"
99

1010
tf_http_archive(
1111
name = name,

0 commit comments

Comments
 (0)