re PR target/66015 (align directives not propagated after __attribute__ ((__optimize__ ("O2"))))
2015-05-06 Christian Bruel <christian.bruel@st.com> PR target/66015 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops, align_jumps, align_functions into aarch64_override_options_after_change. From-SVN: r222847
This commit is contained in:
parent
240a94da04
commit
487edc878f
4 changed files with 52 additions and 12 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-05-06 Christian Bruel <christian.bruel@st.com>
|
||||
|
||||
PR target/66015
|
||||
* config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
|
||||
align_jumps, align_functions into aarch64_override_options_after_change.
|
||||
|
||||
2015-05-06 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* tree-vect-slp.c (vect_supported_load_permutation_p): Use
|
||||
|
|
|
@ -7053,18 +7053,6 @@ aarch64_override_options (void)
|
|||
#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 ();
|
||||
|
||||
|
@ -7080,6 +7068,18 @@ aarch64_override_options_after_change (void)
|
|||
flag_omit_leaf_frame_pointer = false;
|
||||
else if (flag_omit_leaf_frame_pointer)
|
||||
flag_omit_frame_pointer = true;
|
||||
|
||||
/* If not optimizing 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 *
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-05-06 Christian Bruel <christian.bruel@st.com>
|
||||
|
||||
PR target/66015
|
||||
* gcc.target/aarch64/iinline-attr-1.c: New test.
|
||||
|
||||
2015-05-06 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* gcc.dg/vect/bb-slp-34.c: New testcase.
|
||||
|
|
29
gcc/testsuite/gcc.target/aarch64/iinline-attr-1.c
Normal file
29
gcc/testsuite/gcc.target/aarch64/iinline-attr-1.c
Normal file
|
@ -0,0 +1,29 @@
|
|||
/* Verify that alignment flags are set when attribute __optimize is used. */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
extern void non_existent(int);
|
||||
|
||||
__attribute__ ((__optimize__ ("O2")))
|
||||
static void hooray ()
|
||||
{
|
||||
non_existent (1);
|
||||
}
|
||||
|
||||
__attribute__ ((__optimize__ ("O2")))
|
||||
static void hiphip (void (*f)())
|
||||
{
|
||||
non_existent (2);
|
||||
f ();
|
||||
}
|
||||
|
||||
__attribute__ ((__optimize__ ("O2")))
|
||||
int test (void)
|
||||
{
|
||||
hiphip (hooray);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* { dg-final { scan-assembler "p2align" } } */
|
||||
|
||||
|
Loading…
Add table
Reference in a new issue