[llvm-commits] [llvm] r73972 - /llvm/trunk/test/FrontendC/2007-05-07-PaddingElements.c
Dale Johannesen
dalej at apple.com
Tue Jun 23 11:03:49 PDT 2009
Author: johannes
Date: Tue Jun 23 13:03:49 2009
New Revision: 73972
URL: http://llvm.org/viewvc/llvm-project?rev=73972&view=rev
Log:
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.
Modified:
llvm/trunk/test/FrontendC/2007-05-07-PaddingElements.c
Modified: llvm/trunk/test/FrontendC/2007-05-07-PaddingElements.c
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/FrontendC/2007-05-07-PaddingElements.c?rev=73972&r1=73971&r2=73972&view=diff
==============================================================================
--- llvm/trunk/test/FrontendC/2007-05-07-PaddingElements.c (original)
+++ llvm/trunk/test/FrontendC/2007-05-07-PaddingElements.c Tue Jun 23 13:03:49 2009
@@ -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;
More information about the llvm-commits
mailing list