[llvm-branch-commits] [llvm] release/21.x: [SelectOptimize] Fix incorrect -1 immediate for large integers (#170860) (PR #171596)
Yingwei Zheng via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Dec 10 04:11:52 PST 2025
dtcxzyw wrote:
> ; CHECK-NEXT: [[CMP1_FROZEN:%.*]] = freeze i1 [[CMP1]]
^
<stdin>:569:32: note: scanning from here
%sext1 = sext i1 %cmp1 to i128
^
<stdin>:569:32: note: with "CMP1" equal to "%cmp1"
%sext1 = sext i1 %cmp1 to i128
^
<stdin>:570:2: note: possible intended match here
%add = add i128 %sext1, 0
^
Input file: <stdin>
Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/selectopt-cast.ll
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
564: br label %loop
565:
566: loop: ; preds = %loop, %entry
567: %load = load i128, ptr %a, align 16
568: %cmp1 = icmp slt i128 %load, 0
569: %sext1 = sext i1 %cmp1 to i128
next:915'0 X error: no match found
next:915'1 with "CMP1" equal to "%cmp1"
570: %add = add i128 %sext1, 0
next:915'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:915'2 ? possible intended match
571: %cmp2 = icmp slt i128 %add, 0
next:915'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
572: br i1 %cmp2, label %loop, label %exit
next:915'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
573:
next:915'0 ~
574: exit: ; preds = %loop
next:915'0 ~~~~~~~~~~~~~~~~~~~~~~
575: ret void
next:915'0 ~~~~~~~~~~
576: }
next:915'0 ~~
>>>>>>
--
Looks like this transformation doesn't work on 21.x?
https://github.com/llvm/llvm-project/pull/171596
More information about the llvm-branch-commits
mailing list