brintos

brintos / llvm-project-archived public Read only

0
0
Text · 830 B · 1542707 Raw
25 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=instcombine -S | FileCheck %s3 4declare ptr @realloc(ptr allocptr, i64) allockind("realloc") allocsize(1)5declare noalias ptr @malloc(i64) allockind("alloc,uninitialized")6 7 8define ptr @realloc_null_ptr() #0 {9; CHECK-LABEL: @realloc_null_ptr(10; CHECK-NEXT:    [[MALLOC:%.*]] = call dereferenceable_or_null(100) ptr @malloc(i64 100)11; CHECK-NEXT:    ret ptr [[MALLOC]]12;13  %call = call ptr @realloc(ptr null, i64 100) #214  ret ptr %call15}16 17define ptr @realloc_unknown_ptr(ptr %ptr) #0 {18; CHECK-LABEL: @realloc_unknown_ptr(19; CHECK-NEXT:    [[CALL:%.*]] = call dereferenceable_or_null(100) ptr @realloc(ptr [[PTR:%.*]], i64 100)20; CHECK-NEXT:    ret ptr [[CALL]]21;22  %call = call ptr @realloc(ptr %ptr, i64 100) #223  ret ptr %call24}25