See test. Judging from PR 1278, at the time the test was committed, the
authorDale Johannesen <dalej@apple.com>
Tue, 23 Jun 2009 18:03:49 +0000 (18:03 +0000)
committerDale Johannesen <dalej@apple.com>
Tue, 23 Jun 2009 18:03:49 +0000 (18:03 +0000)
commitd9bc6a92f55c274b2c1367c7b4c0b721d121bd10
tree9ba161e5c7ffaea754fd1dfc32560a09bf0bf75d
parent0de9953e888c30e0a01df90c972b1f2e2dce1614
See test.  Judging from PR 1278, at the time the test was committed, the
generated code was apparently doing stores directly into the return value
aggregate; now, it's doing a copy from a compiler-generated static object.
That object is initialized using [4 x i8] which breaks the test.  I believe
this change preserves the original point of the test.

Of course it would be better for the code to do stores directly into the
return aggregate, but that is not what happens at -O0; the llvm optimizers
seem to do that on x86 but not on ppc32, possibly because of the explicit
padding (which is unavoidable).  I think it must have been being done by
a gcc optimizer pass before.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73972 91177308-0d34-0410-b5e6-96231b3b80d8
test/FrontendC/2007-05-07-PaddingElements.c