[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-26 Thread serge via Phabricator via cfe-commits
serge-sans-paille abandoned this revision. serge-sans-paille added a comment. gcc bug filled as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110816 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155580/new/ https://reviews.llvm.org/D155580

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-20 Thread serge via Phabricator via cfe-commits
serge-sans-paille added a subscriber: jakubjelinek. serge-sans-paille added a comment. @jfb ok, makes sense. For the record it does show up in our profile but I have been able to workaround it without touching the compiler. This probably mean that the GCC implementation is having a small hole,

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread JF Bastien via Phabricator via cfe-commits
jfb added a comment. (sorry for sending twice, looks like email reply failed) This is the same as padding, and is initialized on purpose. If it’s truly unused then the optimizer will eliminate it… unless it can’t prove whether the store is dead. Does this show up in any meaningless

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGDecl.cpp:1858 +static bool isEmptyClass(VarDecl const ) { + const Type *Ty = D.getType().getTypePtr(); inconsistent east const vs west const Comment at:

Re: [PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread Serge Guelton via cfe-commits
On Tue, Jul 18, 2023 at 10:15:09PM +0900, JF Bastien wrote: > > > On Tue, Jul 18, 2023 at 8:41 PM serge via Phabricator <[1] > revi...@reviews.llvm.org> wrote: > > serge-sans-paille created this revision. > serge-sans-paille added reviewers: nickdesaulniers, jfb, aaron.ballman. >

Re: [PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread JF Bastien via cfe-commits
On Tue, Jul 18, 2023 at 8:41 PM serge via Phabricator < revi...@reviews.llvm.org> wrote: > serge-sans-paille created this revision. > serge-sans-paille added reviewers: nickdesaulniers, jfb, aaron.ballman. > Herald added a subscriber: kristof.beyls. > Herald added a project: All. >

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/lib/CodeGen/CGDecl.cpp:1913-1923 + if (D.isConstexpr()) +// Constexpr already initializes everything correctly. +trivialAutoVarInit = LangOptions::TrivialAutoVarInitKind::Uninitialized; + else if (D.getAttr()) +

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread serge via Phabricator via cfe-commits
serge-sans-paille updated this revision to Diff 541475. serge-sans-paille added a comment. switch from cascading ternary operator to cascading if for readability. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155580/new/ https://reviews.llvm.org/D155580 Files:

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread Corentin Jabot via Phabricator via cfe-commits
cor3ntin added inline comments. Comment at: clang/lib/CodeGen/CGDecl.cpp:1915-1924 LangOptions::TrivialAutoVarInitKind trivialAutoVarInit = (D.isConstexpr() ? LangOptions::TrivialAutoVarInitKind::Uninitialized : (D.getAttr() ?

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread serge via Phabricator via cfe-commits
serge-sans-paille added a comment. Comparison with GCC behavior here: https://godbolt.org/z/xc3j9jEsf Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D155580/new/ https://reviews.llvm.org/D155580 ___

[PATCH] D155580: [trivial-auto-var-init] Do not emit initialization code for empty class

2023-07-18 Thread serge via Phabricator via cfe-commits
serge-sans-paille created this revision. serge-sans-paille added reviewers: nickdesaulniers, jfb, aaron.ballman. Herald added a subscriber: kristof.beyls. Herald added a project: All. serge-sans-paille requested review of this revision. Herald added a project: clang. Herald added a subscriber: