DeadArgElim: arguments affect all returned sub-values by default.
authorTim Northover <tnorthover@apple.com>
Tue, 10 Feb 2015 19:49:18 +0000 (19:49 +0000)
committerTim Northover <tnorthover@apple.com>
Tue, 10 Feb 2015 19:49:18 +0000 (19:49 +0000)
commitb613f8842e77483311483b628c68e3c4e857cc77
tree9571ac8539d68785411814370304c7840ff57b25
parent03e1afd8fea4eed85a55a9cd925f85811f8c13c4
DeadArgElim: arguments affect all returned sub-values by default.

Unless we meet an insertvalue on a path from some value to a return, that value
will be live if *any* of the return's components are live, so all of those
components must be added to the MaybeLiveUses.

Previously we were deleting arguments if sub-value 0 turned out to be dead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228731 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/DeadArgumentElimination.cpp
test/Transforms/DeadArgElim/aggregates.ll