https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109370
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am not so sure this is worse. Also I find LLVM code generataion depdedent on if the argument is a pointer vs a reference (rvalue or normal): ``` struct a { int b; bool c; }; int f(struct a &o) { if (!o.c) return -1; return o.b; } int f(struct a *o) { if (!o->c) return -1; return o->b; } ```