From: Bob Duff Date: Fri, 30 Jul 2021 20:49:37 +0000 (-0400) Subject: [Ada] Follow-on efficiency improvements X-Git-Tag: basepoints/gcc-13~4463 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c06539752d77126689ee49fc3e4a8add2a4980e3;p=thirdparty%2Fgcc.git [Ada] Follow-on efficiency improvements gcc/ada/ * gen_il-gen.adb: Set the number of concrete nodes that have the Homonym field to a higher number than any other field. This isn't true, but it forces Homonym's offset to be chosen first, so it will be at offset zero and hence slot zero. --- diff --git a/gcc/ada/gen_il-gen.adb b/gcc/ada/gen_il-gen.adb index 95fb526f5f2e..2fbec00e5486 100644 --- a/gcc/ada/gen_il-gen.adb +++ b/gcc/ada/gen_il-gen.adb @@ -1036,6 +1036,13 @@ package body Gen_IL.Gen is Append (All_Fields, F); end loop; + -- Force Homonym to be at offset zero, which speeds up the + -- compiler. The Sort below will place Homonym first in + -- All_Fields. + + Num_Concrete_Have_Field (Homonym) := + Num_Concrete_Have_Field (Nkind) + 1; + -- Sort All_Fields based on how many concrete types have the field. -- This is for efficiency; we want to choose the offsets of the most -- common fields first, so they get low numbers.