Logo
Explore Mirrors Help
Sign In
6502/llvm-6502
1
0
Fork 0
You've already forked llvm-6502
mirror of https://github.com/c64scene-ar/llvm-6502.git synced 2025-01-12 02:33:33 +00:00
Code Issues Projects Releases Wiki Activity
llvm-6502/test/FrontendC/2007-05-07-PaddingElements.c

13 lines
276 B
C
Raw Normal View History

New test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36930 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 06:10:12 +00:00
// PR 1278
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
2009-06-23 18:03:49 +00:00
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | grep {struct.s} | not grep "4 x i8] zeroinitializer"
New test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36930 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-08 06:10:12 +00:00
// RUN: %llvmgcc %s -S -emit-llvm -O0 -o - | not grep "i32 0, i32 2"
struct s {
double d1;
int s1;
};
struct s foo(void) {
struct s S = {1.1, 2};
return S;
}
Reference in New Issue Copy Permalink
Powered by Gitea Version: 1.23.1 Page: 2808ms Template: 5ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API