GCC 12.3.1 Status Report (2024-05-24)

2024-05-24 Thread Jakub Jelinek via Gcc
Status
==

The gcc-12 branch is open for regression and documentation fixes.

It's time to do the annual release from the branch, GCC 12.4, and
the plan is to do a release candidate on June 13th followed
by the actual release a week after that.

Please look through bugzilla and see which of your regression fixes
for GCC 13 are also applicable for the GCC 12 branch and do the
necessary backporting.  Note that the closing release from the 11 branch
will follow as well.

Quality Data


Priority  #   Change from last report
---   ---
P10
P2  619   + 118
P3   77   +  23
P4  200   -  32
P5   24
---   ---
Total P1-P3 696   + 141
Total   920   + 109


Previous Report
===

https://gcc.gnu.org/pipermail/gcc/2023-May/241260.html



Re: Question about optimizing function pointers for direct function calls

2024-05-24 Thread Jeff Law via Gcc




On 5/23/24 9:51 PM, Hanke Zhang via Gcc wrote:

Hi,
I got a question about optimizing function pointers for direct
function calls in C.

Consider the following scenario: one of the fields of a structure is a
function pointer, and all its assignments come from the same function.
Can all its uses be replaced by direct calls to this function? So the
later passes can do more optimizations.
Certainly.  The RTL optimizers have been doing this for ~30 years.  If 
they can statically determine the target of an indirect call, they will 
replace that indirect call with a simple direct call.


You're just extending that capability to apply more often, likely by 
doing it at an earlier stage in the pipeline, presumably in one of the 
IPA or gimple optimizers?



Note that by doing this transformation before the gimple->rtl conversion 
step, you don't have to worry about quirky ABIs where direct and 
indirect calls can have different calling conventions.


Jeff


gcc-13-20240524 is now available

2024-05-24 Thread GCC Administrator via Gcc
Snapshot gcc-13-20240524 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/13-20240524/
and on various mirrors, see https://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 13 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch 
releases/gcc-13 revision 53cdaa755de57e57ba9e787f232adc3cfde88209

You'll find:

 gcc-13-20240524.tar.xz   Complete GCC

  SHA256=2de5cb41f772ff757cb1bc2a7781930d804ead6c55a15948b11d860e5c9d0df4
  SHA1=ab2b554aa2ced95e12cde58a4b4fe535088fc681

Diffs from 13-20240517 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-13
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.