From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Jacob Champion <jacob(dot)champion(at)enterprisedb(dot)com> |
Cc: | Daniel Gustafsson <daniel(at)yesql(dot)se>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: jsonapi: scary new warnings with LTO enabled |
Date: | 2025-04-16 23:28:44 |
Message-ID: | 2087556.1744846124@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Jacob Champion <jacob(dot)champion(at)enterprisedb(dot)com> writes:
> On Wed, Apr 16, 2025 at 4:04 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Looking through all of the callers of freeJsonLexContext, quite
>> a lot of them use local JsonLexContext structs, and probably some
>> of them are more performance-critical than these. So that raises
>> the question of why are we seeing warnings for only these call
>> sites?
> Yeah, I had the same question...
After making another pass through the callers of freeJsonLexContext,
I observe that the warnings appear in callers that use a local
variable *and* contain goto statements. So I'm betting that the
presence of goto's causes the LTO optimizer to pull in its horns
quite a bit and thereby fail to detect the flag correlation.
>> Maybe there is a more elegant way to suppress them.
> Can we brute-force ignore this particular warning site with a #pragma
> (suggested in [1])?
That's surely not elegant :-(. However, I don't especially want to
rewrite away the goto's in these callers ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2025-04-16 23:44:57 | Re: Fixup some appendPQExpBuffer() calls |
Previous Message | Noah Misch | 2025-04-16 23:13:10 | Re: pipelining in psql, commit 41625ab |