This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: missed PTA optimization?
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: "Uecker, Martin" <Martin dot Uecker at med dot uni-goettingen dot de>,"gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Tue, 11 Feb 2020 21:43:38 +0100
- Subject: Re: missed PTA optimization?
- References: <1581453130.20030.7.camel@med.uni-goettingen.de>
On February 11, 2020 9:32:14 PM GMT+01:00, "Uecker, Martin" <Martin.Uecker@med.uni-goettingen.de> wrote:
>
>In the following example, it seems
>that 'bar' could be optimized to
>return '1' and every else could be
>optimized away. Or am I missing
>something?
p might be still NULL when bar is called.
Do I need to add
>some specific compiler flags?
-fipa-pta
But we simply do not implement turning pointer dereference into direct accesses when points to says it would be possible. And yes, the NULL case can probably be ignored (though we generally support catching NULL dereferences with signal handlers), or at least speculated away with a well predicted branch.
Any situation where doing the above is profitable?
>
>
>static int a = 1;
>static int *p;
>
>extern
>void foo(void)
>{
> p = &a;
>}
>
>extern
>int bar(void)
>{
> return *p;
>}
>
>
>thank you,
>Martin