[llvm] 46f9c22 - [Scalarizer] Update tests to use update_test_checks.py (#222460)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 10 04:54:52 PDT 2026
Author: Farzon Lotfi
Date: 2026-09-10T07:54:47-04:00
New Revision: 46f9c228668a406cec6160552dea699846d91fd6
URL: https://github.com/llvm/llvm-project/commit/46f9c228668a406cec6160552dea699846d91fd6
DIFF: https://github.com/llvm/llvm-project/commit/46f9c228668a406cec6160552dea699846d91fd6.diff
LOG: [Scalarizer] Update tests to use update_test_checks.py (#222460)
This PR is to address feedback on this comment:
https://github.com/llvm/llvm-project/pull/221033#discussion_r3973313815
requesting the tests use utils/update_test_checks.py instead.
Added:
Modified:
llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll b/llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
index fff385bf529f7..ebf8340ab3864 100644
--- a/llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
+++ b/llvm/test/Transforms/Scalarizer/bitcast-scalar-to-vector.ll
@@ -1,24 +1,26 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt %s -passes=scalarizer -S --data-layout=e | FileCheck %s --check-prefix=LE
; RUN: opt %s -passes=scalarizer -S --data-layout=E | FileCheck %s --check-prefix=BE
define i32 @split_via_extract(i64 noundef %a) {
; LE-LABEL: define i32 @split_via_extract(
; LE-SAME: i64 noundef [[A:%.*]]) {
-; LE: [[LO:%.*]] = trunc i64 [[A]] to i32
-; LE: [[SHIFT:%.*]] = lshr i64 [[A]], 32
-; LE: [[HI:%.*]] = trunc i64 [[SHIFT]] to i32
-; LE: [[RESULT:%.*]] = add i32 [[LO]], [[HI]]
-; LE-NOT: bitcast
-; LE: ret i32 [[RESULT]]
+; LE-NEXT: [[ENTRY:.*:]]
+; LE-NEXT: [[LO:%.*]] = trunc i64 [[A]] to i32
+; LE-NEXT: [[SHIFT:%.*]] = lshr i64 [[A]], 32
+; LE-NEXT: [[HI:%.*]] = trunc i64 [[SHIFT]] to i32
+; LE-NEXT: [[RESULT:%.*]] = add i32 [[LO]], [[HI]]
+; LE-NEXT: ret i32 [[RESULT]]
;
; BE-LABEL: define i32 @split_via_extract(
; BE-SAME: i64 noundef [[A:%.*]]) {
-; BE: [[SHIFT:%.*]] = lshr i64 [[A]], 32
-; BE: [[HI:%.*]] = trunc i64 [[SHIFT]] to i32
-; BE: [[LO:%.*]] = trunc i64 [[A]] to i32
-; BE: [[RESULT:%.*]] = add i32 [[HI]], [[LO]]
-; BE-NOT: bitcast
-; BE: ret i32 [[RESULT]]
+; BE-NEXT: [[ENTRY:.*:]]
+; BE-NEXT: [[SHIFT:%.*]] = lshr i64 [[A]], 32
+; BE-NEXT: [[HI:%.*]] = trunc i64 [[SHIFT]] to i32
+; BE-NEXT: [[LO:%.*]] = trunc i64 [[A]] to i32
+; BE-NEXT: [[RESULT:%.*]] = add i32 [[HI]], [[LO]]
+; BE-NEXT: ret i32 [[RESULT]]
+;
entry:
%vecA = bitcast i64 %a to <2 x i32>
%low = extractelement <2 x i32> %vecA, i32 0
diff --git a/llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll b/llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll
index 12a72d222b479..633ca129394f3 100644
--- a/llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll
+++ b/llvm/test/Transforms/Scalarizer/bitcast-vector-to-scalar.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt %s -passes='scalarizer,dce' -S --data-layout=e | FileCheck %s --check-prefix=LE
; RUN: opt %s -passes='scalarizer,dce' -S --data-layout=E | FileCheck %s --check-prefix=BE
@@ -5,26 +6,31 @@ declare <2 x i16> @llvm.ctpop.v2i16(<2 x i16>)
define i32 @bitcast_vector_to_scalar(<2 x i16> %x) {
; LE-LABEL: define i32 @bitcast_vector_to_scalar(
-; LE: [[LO:%.*]] = call i16 @llvm.ctpop.i16
-; LE: [[HI:%.*]] = call i16 @llvm.ctpop.i16
-; LE: [[LO_EXT:%.*]] = zext i16 [[LO]] to i32
-; LE: [[HI_EXT:%.*]] = zext i16 [[HI]] to i32
-; LE: [[HI_SHIFT:%.*]] = shl i32 [[HI_EXT]], 16
-; LE: [[RESULT:%.*]] = or i32 [[LO_EXT]], [[HI_SHIFT]]
-; LE-NOT: insertelement
-; LE-NOT: bitcast
-; LE: ret i32 [[RESULT]]
+; LE-SAME: <2 x i16> [[X:%.*]]) {
+; LE-NEXT: [[ENTRY:.*:]]
+; LE-NEXT: [[X_I0:%.*]] = extractelement <2 x i16> [[X]], i64 0
+; LE-NEXT: [[LO:%.*]] = call i16 @llvm.ctpop.i16(i16 [[X_I0]])
+; LE-NEXT: [[X_I1:%.*]] = extractelement <2 x i16> [[X]], i64 1
+; LE-NEXT: [[HI:%.*]] = call i16 @llvm.ctpop.i16(i16 [[X_I1]])
+; LE-NEXT: [[LO_EXT:%.*]] = zext i16 [[LO]] to i32
+; LE-NEXT: [[HI_EXT:%.*]] = zext i16 [[HI]] to i32
+; LE-NEXT: [[HI_SHIFT:%.*]] = shl i32 [[HI_EXT]], 16
+; LE-NEXT: [[RESULT:%.*]] = or i32 [[LO_EXT]], [[HI_SHIFT]]
+; LE-NEXT: ret i32 [[RESULT]]
;
; BE-LABEL: define i32 @bitcast_vector_to_scalar(
-; BE: [[HI:%.*]] = call i16 @llvm.ctpop.i16
-; BE: [[LO:%.*]] = call i16 @llvm.ctpop.i16
-; BE: [[HI_EXT:%.*]] = zext i16 [[HI]] to i32
-; BE: [[HI_SHIFT:%.*]] = shl i32 [[HI_EXT]], 16
-; BE: [[LO_EXT:%.*]] = zext i16 [[LO]] to i32
-; BE: [[RESULT:%.*]] = or i32 [[HI_SHIFT]], [[LO_EXT]]
-; BE-NOT: insertelement
-; BE-NOT: bitcast
-; BE: ret i32 [[RESULT]]
+; BE-SAME: <2 x i16> [[X:%.*]]) {
+; BE-NEXT: [[ENTRY:.*:]]
+; BE-NEXT: [[X_I0:%.*]] = extractelement <2 x i16> [[X]], i64 0
+; BE-NEXT: [[HI:%.*]] = call i16 @llvm.ctpop.i16(i16 [[X_I0]])
+; BE-NEXT: [[X_I1:%.*]] = extractelement <2 x i16> [[X]], i64 1
+; BE-NEXT: [[LO:%.*]] = call i16 @llvm.ctpop.i16(i16 [[X_I1]])
+; BE-NEXT: [[HI_EXT:%.*]] = zext i16 [[HI]] to i32
+; BE-NEXT: [[HI_SHIFT:%.*]] = shl i32 [[HI_EXT]], 16
+; BE-NEXT: [[LO_EXT:%.*]] = zext i16 [[LO]] to i32
+; BE-NEXT: [[RESULT:%.*]] = or i32 [[HI_SHIFT]], [[LO_EXT]]
+; BE-NEXT: ret i32 [[RESULT]]
+;
entry:
%count = call <2 x i16> @llvm.ctpop.v2i16(<2 x i16> %x)
%result = bitcast <2 x i16> %count to i32
More information about the llvm-commits
mailing list