Files
clang-p2996/llvm/test/Transforms/DeadArgElim/allocsize.ll
George Burgess IV 48ee59b6f0 [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.

llvm-svn: 329868
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
}