Files
llvm/test/Transforms/DeadArgElim/allocsize.ll
T
George Burgess IV 6583ea328f [DeadArgElim] Remove allocsize attributes on callsites
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329868 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-12 02:06:01 +00:00

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
}