Finish up PR rtl-optimization/44194
Eric Botcazou
ebotcazou@adacore.com
Thu Sep 13 16:08:00 GMT 2012
> Will it help
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54315
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28831
It won't help everywhere, since it's only for architectures that return
structures in registers, so x86-64 but not x86 for example.
54315 pertains to single-fielded unions and uses a different code path
(copy_blkmode_from_reg) although the issue is similar. I'll have a look.
It will help 28831 on x86-64 if the structure is returned in registers, e.g.
struct val_t {
int a, b, c;
};
extern struct val_t foo();
extern int bar(struct val_t);
int main() {
return bar(foo());
}
The patch eliminates the two extra stores mentioned in comment #15. I'll add a
reference to this one.
--
Eric Botcazou
More information about the Gcc-patches
mailing list