; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --scrub-attributes
; RUN: opt -S -passes=instcombine < %s | FileCheck %s

define dso_local void @test() local_unnamed_addr #0 {
; CHECK-LABEL: @test(
; CHECK-NEXT:    ret void
;
  %1 = tail call noalias align 16 dereferenceable_or_null(4) i8* @malloc(i64 4) #4
  %2 = tail call align 16 dereferenceable_or_null(6) i8* @realloc(i8* %1, i64 6) #4
  tail call void @free(i8* %2) #4
  ret void
}

declare dso_local noalias noundef i8* @malloc(i64 noundef) local_unnamed_addr #1
declare dso_local noalias noundef i8* @realloc(i8* nocapture allocptr, i64 noundef) local_unnamed_addr #2
declare dso_local void @free(i8* nocapture allocptr noundef) local_unnamed_addr #3
declare void @llvm.dbg.value(metadata, metadata, metadata) #3

attributes #0 = { mustprogress nounwind uwtable willreturn }
attributes #1 = { inaccessiblememonly mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") "alloc-family"="malloc" }
attributes #2 = { inaccessiblemem_or_argmemonly mustprogress nounwind willreturn allockind("realloc") "alloc-family"="malloc" }
attributes #3 = { nofree nosync nounwind readnone speculatable willreturn allockind("free") "alloc-family"="malloc" }
attributes #4 = { nounwind }

