This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, AArch64, Testsuite] Specify -fno-use-caller-save for func-ret* tests


On 07/01/14 09:51, Yufeng Zhang wrote:
Hi,

This patch resolves a conflict between the aapcs64 test framework for
func-ret tests and the optimization option -fuse-caller-save, which was
enabled by default at -O1 or above recently.

Basically, the test framework has an inline-assembly based mechanism in
place which invokes the test facility function right on the return of a
tested function.  The compiler with -fuse-caller-save is unable to
identify the unconventional call graph and carries out the optimization
regardless.

Adding explicit LR clobbering field to the inline assembly doesn't solve
the issue as the compiler would simply generate extra save/store of LR
in the prologue/epilogue.

OK for the trunk?

Thanks,
Yufeng

gcc/testsuite/

     * gcc.target/aarch64/aapcs64/aapcs64.exp:
     (additional_flags_for_func_ret): New variable based on
$additional_flags
     plus -fno-use-caller-save.
     (func-ret-*.c): Use the new variable.
OK.
Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]