Update optimization passes to handle inalloca arguments
authorReid Kleckner <reid@kleckner.net>
Tue, 28 Jan 2014 02:38:36 +0000 (02:38 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 28 Jan 2014 02:38:36 +0000 (02:38 +0000)
commit59bec0e3c0c39cf704c6eb7fb2a44e787dbab4a0
tree1328d76bf192e6468784aba3626be36eac1ff5f5
parent1386d3f8855903aea2dc3e0eb43c53a80cd37382
Update optimization passes to handle inalloca arguments

Summary:
I searched Transforms/ and Analysis/ for 'ByVal' and updated those call
sites to check for inalloca if appropriate.

I added tests for any change that would allow an optimization to fire on
inalloca.

Reviewers: nlewycky

Differential Revision: http://llvm-reviews.chandlerc.com/D2449

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200281 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/Analysis/MemoryBuiltins.cpp
lib/Analysis/ValueTracking.cpp
lib/Transforms/IPO/ArgumentPromotion.cpp
lib/Transforms/IPO/DeadArgumentElimination.cpp
lib/Transforms/IPO/FunctionAttrs.cpp
lib/Transforms/IPO/IPConstantPropagation.cpp
lib/Transforms/InstCombine/InstCombineCalls.cpp
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
lib/Transforms/ObjCARC/ObjCARC.h
lib/Transforms/Scalar/DeadStoreElimination.cpp
test/Transforms/ArgumentPromotion/inalloca.ll [new file with mode: 0644]
test/Transforms/DeadStoreElimination/simple.ll
test/Transforms/FunctionAttrs/readattrs.ll
test/Transforms/InstCombine/call-cast-target-inalloca.ll [new file with mode: 0644]