forked from OSchip/llvm-project
[BuildLibCalls] Remove inaccessiblememonly inference for calloc
Solves regression mentioned in PR50143. As noted in D101440, proper modelling for calloc would require new attribute inaccessible_or_returned_memonly.
This commit is contained in:
parent
b30521c28a
commit
e20b32ff3b
|
@ -567,7 +567,6 @@ bool llvm::inferLibFuncAttributes(Function &F, const TargetLibraryInfo &TLI) {
|
|||
return Changed;
|
||||
case LibFunc_calloc:
|
||||
case LibFunc_vec_calloc:
|
||||
Changed |= setOnlyAccessesInaccessibleMemory(F);
|
||||
Changed |= setRetAndArgsNoUndef(F);
|
||||
Changed |= setDoesNotThrow(F);
|
||||
Changed |= setRetDoesNotAlias(F);
|
||||
|
|
|
@ -247,7 +247,7 @@ declare void @bcopy(i8*, i8*, i64)
|
|||
; CHECK: declare void @bzero(i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_WILLRETURN]]
|
||||
declare void @bzero(i8*, i64)
|
||||
|
||||
; CHECK: declare noalias noundef i8* @calloc(i64 noundef, i64 noundef) [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN:#[0-9]+]]
|
||||
; CHECK: declare noalias noundef i8* @calloc(i64 noundef, i64 noundef) [[NOFREE_NOUNWIND_WILLRETURN]]
|
||||
declare i8* @calloc(i64, i64)
|
||||
|
||||
; CHECK: declare double @cbrt(double) [[NOFREE_NOUNWIND_WILLRETURN]]
|
||||
|
@ -613,7 +613,7 @@ declare i32 @lstat(i8*, %opaque*)
|
|||
; CHECK-LINUX: declare noundef i32 @lstat64(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[NOFREE_NOUNWIND]]
|
||||
declare i32 @lstat64(i8*, %opaque*)
|
||||
|
||||
; CHECK: declare noalias noundef i8* @malloc(i64 noundef) [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN]]
|
||||
; CHECK: declare noalias noundef i8* @malloc(i64 noundef) [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN:#[0-9]+]]
|
||||
declare i8* @malloc(i64)
|
||||
|
||||
; CHECK-LINUX: declare noalias noundef i8* @memalign(i64, i64) [[INACCESSIBLEMEMONLY_NOFREE_NOUNWIND_WILLRETURN]]
|
||||
|
|
Loading…
Reference in New Issue