brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 3342b42 Raw
89 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=instcombine -S | FileCheck %s3 4declare void @c(i32 noundef)5declare void @d(ptr dereferenceable(1))6declare void @e(i32)7declare void @f(ptr)8 9define void @test1() {10; CHECK-LABEL: @test1(11; CHECK-NEXT:    call void @c(i32 undef)12; CHECK-NEXT:    ret void13;14  call void @c(i32 undef)15  ret void16}17 18define void @test2() {19; CHECK-LABEL: @test2(20; CHECK-NEXT:    call void @c(i32 poison)21; CHECK-NEXT:    ret void22;23  call void @c(i32 poison)24  ret void25}26 27define void @test3() {28; CHECK-LABEL: @test3(29; CHECK-NEXT:    call void @e(i32 noundef undef)30; CHECK-NEXT:    ret void31;32  call void @e(i32 noundef undef)33  ret void34}35 36define void @test4() {37; CHECK-LABEL: @test4(38; CHECK-NEXT:    call void @e(i32 noundef poison)39; CHECK-NEXT:    ret void40;41  call void @e(i32 noundef poison)42  ret void43}44 45define void @test5() {46; CHECK-LABEL: @test5(47; CHECK-NEXT:    call void @d(ptr undef)48; CHECK-NEXT:    ret void49;50  call void @d(ptr undef)51  ret void52}53 54define void @test6() {55; CHECK-LABEL: @test6(56; CHECK-NEXT:    call void @d(ptr poison)57; CHECK-NEXT:    ret void58;59  call void @d(ptr poison)60  ret void61}62 63define void @test7() {64; CHECK-LABEL: @test7(65; CHECK-NEXT:    call void @f(ptr dereferenceable(1) undef)66; CHECK-NEXT:    ret void67;68  call void @f(ptr dereferenceable(1) undef)69  ret void70}71 72define void @test8() {73; CHECK-LABEL: @test8(74; CHECK-NEXT:    call void @f(ptr dereferenceable(1) poison)75; CHECK-NEXT:    ret void76;77  call void @f(ptr dereferenceable(1) poison)78  ret void79}80 81define void @test_mismatched_call() {82; CHECK-LABEL: @test_mismatched_call(83; CHECK-NEXT:    call void @e(i8 poison)84; CHECK-NEXT:    ret void85;86  call void @e(i8 poison)87  ret void88}89