File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
llvm/test/Transforms/InstCombine Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -581,6 +581,23 @@ not_taken:
581
581
ret i1 %control
582
582
}
583
583
584
+ define void @nonnull_only_ephemeral_use (ptr %p ) {
585
+ ; DEFAULT-LABEL: @nonnull_only_ephemeral_use(
586
+ ; DEFAULT-NEXT: [[A:%.*]] = load ptr, ptr [[P:%.*]], align 8
587
+ ; DEFAULT-NEXT: [[CMP:%.*]] = icmp ne ptr [[A]], null
588
+ ; DEFAULT-NEXT: tail call void @llvm.assume(i1 [[CMP]])
589
+ ; DEFAULT-NEXT: ret void
590
+ ;
591
+ ; BUNDLES-LABEL: @nonnull_only_ephemeral_use(
592
+ ; BUNDLES-NEXT: [[A:%.*]] = load ptr, ptr [[P:%.*]], align 8
593
+ ; BUNDLES-NEXT: call void @llvm.assume(i1 true) [ "nonnull"(ptr [[A]]) ]
594
+ ; BUNDLES-NEXT: ret void
595
+ ;
596
+ %a = load ptr , ptr %p
597
+ %cmp = icmp ne ptr %a , null
598
+ tail call void @llvm.assume (i1 %cmp )
599
+ ret void
600
+ }
584
601
585
602
define void @always_true_assumption () {
586
603
; CHECK-LABEL: @always_true_assumption(
You can’t perform that action at this time.
0 commit comments