https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103195
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mjambor at suse dot cz --- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> --- OK, quite surprisingly the code size growth is due to ipa-cp. Due to early modref, we get two aggregate jump functions: value: 0x0, mask: 0xffffffffffffffe0 VR [1, -1] param 3: UNKNOWN + Aggregate passed by reference: + offset: 0, type: integer(kind=4), CONST: 33554432 value: 0x0, mask: 0xfffffffffffffffc VR [1, -1] param 4: CONST: &C.4517 -> -1 @@ -747,6 +744,8 @@ value: 0x0, mask: 0xffffffffffffffe0 VR [1, -1] param 3: UNKNOWN + Aggregate passed by reference: + offset: 0, type: integer(kind=4), CONST: 33554432 value: 0x0, mask: 0xfffffffffffffffc VR [1, -1] param 4: CONST: &C.4512 -> 1 and later we decide to clone: + Estimating body: rfft/1 + Known to be false: op3[ref offset: 0] <= 0, op3[ref offset: 0] == 1, op3[ref offset: 0] == 2, op3[ref offset: 0] changed + size:602 time:9868.835632 nonspec time:9884.134781 loops with known iterations:0.470881 known strides:0.000000 + - estimates for value 33554432 for param #3 npts[ref offset: 0]: time_benefit: 109.299, size: 602 so the cost metric says that cloning will speed up the function by 0.1% however good clonning oportunity seems happy: + - considering value 33554432 for param #3 npts, offset: 0 (caller_count: 2) + good_cloning_opportunity_p (time: 109.299, size: 602, freq_sum: 16.1818) -> evaluation: 2937.97, threshold: 500 and we clone + Creating a specialized node of rfft/1. + adding an extra known scalar value &x for param #0 x + adding an extra known scalar value &trg for param #1 trg + adding an extra known scalar value &ibi for param #2 ibi + replacing param #0 x with const &x + replacing param #1 trg with const &trg + replacing param #2 ibi with const &ibi