We're already removing allocsize attributes from Functions that we remove args from, since removing arguments from a function may make the allocsize attribute incorrect. It appears we forgot to also remove them from callsites. Without this, I get verifier errors on `@Test2`. It probably wouldn't be too hard to make DAE properly update allocsize attributes instead of dropping them, but I can't think of a scenario where that'd be useful in practice. llvm-svn: 329868
19 lines
421 B
LLVM
19 lines
421 B
LLVM
; RUN: opt < %s -deadargelim -S | FileCheck %s
|
|
; PR36867
|
|
|
|
; CHECK-LABEL: @MagickMallocAligned
|
|
; CHECK-NOT: allocsize
|
|
define internal i64 @MagickMallocAligned(i64 %DEADARG1, i64 %s) allocsize(1) {
|
|
ret i64 %s
|
|
}
|
|
|
|
define i64 @NeedsArg(i64 %s) {
|
|
%c = call i64 @MagickMallocAligned(i64 0, i64 %s)
|
|
ret i64 %c
|
|
}
|
|
|
|
define i64 @Test2(i64 %s) {
|
|
%c = call i64 @MagickMallocAligned(i64 0, i64 %s) allocsize(1)
|
|
ret i64 %c
|
|
}
|