
RISC-V found a case where the CombineTo caused N to be CSEd with an existing node and then deleted. The top level DAGCombiner loop was surprised to find a node was deleted, but SDValue() was returned from the visit function. We need to return SDValue(N, 0) to tell the top level loop that a change was made, but the worklist updates were already handled. Fixes #64772. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D158208
18 lines
544 B
LLVM
18 lines
544 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
|
|
; RUN: llc < %s -mtriple=riscv64 | FileCheck %s
|
|
|
|
define void @f() {
|
|
; CHECK-LABEL: f:
|
|
; CHECK: # %bb.0:
|
|
; CHECK-NEXT: sb zero, 0(zero)
|
|
; CHECK-NEXT: ret
|
|
%B1 = shl i64 -9223372036854775808, 0
|
|
%LGV6 = load i8, ptr null, align 1
|
|
%G3 = getelementptr i32, ptr null, i64 %B1
|
|
%B5 = ashr i64 -9223372036854775808, 0
|
|
store i1 false, ptr %G3, align 1
|
|
store i8 1, ptr null, align 1
|
|
store i1 false, ptr null, align 1
|
|
ret void
|
|
}
|