Learn ScalarReplAggregrates how stores and loads of first class aggregrates
authorMatthijs Kooijman <matthijs@stdin.nl>
Thu, 5 Jun 2008 12:51:53 +0000 (12:51 +0000)
committerMatthijs Kooijman <matthijs@stdin.nl>
Thu, 5 Jun 2008 12:51:53 +0000 (12:51 +0000)
commit02518140ac3310d0357c26a87b2372d85da9c2f4
tree12ed5ca3704cf02bb86286a9df63716e1efbe73d
parent1494bccef7d1b0314d07cc0e78f5aaff1fdd583d
Learn ScalarReplAggregrates how stores and loads of first class aggregrates
work and how to replace them into individual values. Also, when trying to
replace an aggregrate that is used by load or store with a single (large)
integer, don't crash (but don't replace the aggregrate either).

Also adds a testcase for both structs and arrays.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51997 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/ScalarReplAggregates.cpp
test/Transforms/ScalarRepl/2008-06-05-loadstore-agg.ll [new file with mode: 0644]