> Hi Christian, > I noticed case gcc.dg/ipa/iinline-attr.c failed on aarch64. The > original patch is x86 specific, while the case is added as general > one. Could you please have a look at this? > > FAIL: gcc.dg/ipa/iinline-attr.c scan-ipa-dump inline > "hooray[^\\n]*inline copy in test" >
that is the same latent bug for aarch64: alignment flags are not propagated with attribute optimize ("O2"). testing attached patch Christian
Index: config/aarch64/aarch64.c =================================================================== --- config/aarch64/aarch64.c (revision 222627) +++ config/aarch64/aarch64.c (working copy) @@ -6908,18 +6908,6 @@ #endif } - /* If not opzimizing for size, set the default - alignment to what the target wants */ - if (!optimize_size) - { - if (align_loops <= 0) - align_loops = aarch64_tune_params->loop_align; - if (align_jumps <= 0) - align_jumps = aarch64_tune_params->jump_align; - if (align_functions <= 0) - align_functions = aarch64_tune_params->function_align; - } - if (AARCH64_TUNE_FMA_STEERING) aarch64_register_fma_steering (); @@ -6935,6 +6923,18 @@ flag_omit_leaf_frame_pointer = false; else if (flag_omit_leaf_frame_pointer) flag_omit_frame_pointer = true; + + /* If not opzimizing for size, set the default + alignment to what the target wants */ + if (!optimize_size) + { + if (align_loops <= 0) + align_loops = aarch64_tune_params->loop_align; + if (align_jumps <= 0) + align_jumps = aarch64_tune_params->jump_align; + if (align_functions <= 0) + align_functions = aarch64_tune_params->function_align; + } } static struct machine_function *