aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDale Johannesen <dalej@apple.com>2009-06-23 18:03:49 +0000
committerDale Johannesen <dalej@apple.com>2009-06-23 18:03:49 +0000
commit80d17c14f4cb8fa8329044242defa10f0e27fde8 (patch)
tree9ba161e5c7ffaea754fd1dfc32560a09bf0bf75d /test
parentd34ffcd13b64787e926a2fc00df83dab71de9751 (diff)
downloadexternal_llvm-80d17c14f4cb8fa8329044242defa10f0e27fde8.zip
external_llvm-80d17c14f4cb8fa8329044242defa10f0e27fde8.tar.gz
external_llvm-80d17c14f4cb8fa8329044242defa10f0e27fde8.tar.bz2
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
Diffstat (limited to 'test')
-rw-r--r--test/FrontendC/2007-05-07-PaddingElements.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/FrontendC/2007-05-07-PaddingElements.c b/test/FrontendC/2007-05-07-PaddingElements.c
index c0a65f0..9be8850 100644
--- a/test/FrontendC/2007-05-07-PaddingElements.c
+++ b/test/FrontendC/2007-05-07-PaddingElements.c
@@ -1,5 +1,5 @@
// PR 1278
-// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | not grep "4 x i8] zeroinitializer"
+// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep {struct.s} | not grep "4 x i8] zeroinitializer"
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | not grep "i32 0, i32 2"
struct s {
double d1;