Teach ConvertUsesToScalar to handle memset, allowing it to handle
authorChris Lattner <sabre@nondot.org>
Tue, 3 Feb 2009 02:01:43 +0000 (02:01 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 3 Feb 2009 02:01:43 +0000 (02:01 +0000)
commit3d730f7453af5ecb1be4b8c5d48843ad5637de37
tree964f1d3b4e2ad5209d27ab89467db27a2cef4a18
parentdbfd8dbdee81d016557dc77d34090492eda55562
Teach ConvertUsesToScalar to handle memset, allowing it to handle
crazy cases like:

struct f {  int A, B, C, D, E, F; };
short test4() {
  struct f A;
  A.A = 1;
  memset(&A.B, 2, 12);
  return A.C;
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63596 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/ScalarReplAggregates.cpp
test/Transforms/ScalarRepl/memset-aggregate.ll