Skip to content

Commit 403792f

Browse files
committed
[InstCombine] Add test for bitcast of unsized pointer (NFC)
The bitcast should get folded into the select, but currently isn't due to an incorrect early bailout.
1 parent 7e2d672 commit 403792f

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

llvm/test/Transforms/InstCombine/bitcast.ll

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,3 +579,16 @@ define i8* @bitcast_from_single_element_pointer_vector_to_pointer(<1 x i8*> %ptr
579579
%ptr = bitcast <1 x i8*> %ptrvec to i8*
580580
ret i8* %ptr
581581
}
582+
583+
declare void @f1()
584+
declare void @f2()
585+
define i8* @select_bitcast_unsized_pointer(i1 %c) {
586+
; CHECK-LABEL: @select_bitcast_unsized_pointer(
587+
; CHECK-NEXT: [[S:%.*]] = select i1 [[C:%.*]], void ()* @f1, void ()* @f2
588+
; CHECK-NEXT: [[B:%.*]] = bitcast void ()* [[S]] to i8*
589+
; CHECK-NEXT: ret i8* [[B]]
590+
;
591+
%s = select i1 %c, void ()* @f1, void ()* @f2
592+
%b = bitcast void ()* %s to i8*
593+
ret i8* %b
594+
}

0 commit comments

Comments
 (0)