| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py |
| ; RUN: opt < %s -instcombine -S | FileCheck %s |
| |
| declare i8* @realloc(i8*, i64) #1 |
| declare noalias i8* @malloc(i64) #1 |
| |
| |
| define i8* @realloc_null_ptr() #0 { |
| ; CHECK-LABEL: @realloc_null_ptr( |
| ; CHECK-NEXT: [[MALLOC:%.*]] = call i8* @malloc(i64 100) |
| ; CHECK-NEXT: ret i8* [[MALLOC]] |
| ; |
| %call = call i8* @realloc(i8* null, i64 100) #2 |
| ret i8* %call |
| } |
| |
| define i8* @realloc_unknown_ptr(i8* %ptr) #0 { |
| ; CHECK-LABEL: @realloc_unknown_ptr( |
| ; CHECK-NEXT: [[CALL:%.*]] = call i8* @realloc(i8* [[PTR:%.*]], i64 100) |
| ; CHECK-NEXT: ret i8* [[CALL]] |
| ; |
| %call = call i8* @realloc(i8* %ptr, i64 100) #2 |
| ret i8* %call |
| } |