GCC 12.3.1 Status Report (2024-05-24)
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
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
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.