gcc/gcc/config/aarch64
Wilco Dijkstra cebaca3600 PR60580: Fix frame pointer option magic
To fix PR60580 simplify the logic in aarch64_override_options_after_change_1 (). 
If the frame pointer is enabled, set it to a special value that behaves similar
to frame pointer omission.  If we don't do this all leaf functions will get a
frame pointer even if flag_omit_leaf_frame_pointer is set.

If flag_omit_frame_pointer has this special value, we must force the frame
pointer if not in a leaf function.  We also need to force it in a leaf function
if flag_omit_frame_pointer is not set or if LR is used.

Doing this allows both -fomit-frame-pointer and -fomit-leaf-frame-pointer to be
independently set and changed in each function with the expected behaviour.

    gcc/
	PR middle-end/60580
	* config/aarch64/aarch64.c (aarch64_frame_pointer_required)
	Check special value of flag_omit_frame_pointer.
	(aarch64_can_eliminate): Likewise.
	(aarch64_override_options_after_change_1): Simplify handling of
	-fomit-frame-pointer and -fomit-leaf-frame-pointer.

From-SVN: r254377
2017-11-03 15:01:10 +00:00
..
aarch64-arches.def [AArch64] Add commandline support for -march=armv8.3-a 2017-01-19 23:51:49 +00:00
aarch64-builtins.c [AArch64] Only build & test pauth code for LP64 2017-01-20 21:03:41 +00:00
aarch64-c.c Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-cores.def aarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the partno/implementer to be correct. 2017-02-14 16:09:28 -08:00
aarch64-cost-tables.h Backport patch to remove falkor aarch32 support. 2017-06-24 16:22:11 -07:00
aarch64-elf-raw.h Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-elf.h Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-freebsd.h aarch64-freebsd.h: Define MCOUNT_NAME. 2017-04-08 20:58:22 +02:00
aarch64-fusion-pairs.def Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-ldpstp.md Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-linux.h Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-modes.def Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-option-extensions.def Backport: [Patch AArch64 obvious] Fix expected string for fp16 extensions 2017-06-20 13:47:03 +00:00
aarch64-opts.h [AArch64][1/4] Support Return address protection on AArch64 2017-01-20 00:03:20 +00:00
aarch64-passes.def Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-protos.h tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass stmt_info to record_stmt_cost. 2017-02-01 10:30:50 -08:00
aarch64-simd-builtin-types.def Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-simd-builtins.def Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64-simd.md 2017-03-16 Tamar Christina <tamar.christina@arm.com> 2017-03-16 11:41:24 +00:00
aarch64-tune.md aarch64-cores.def (thunderx2t99): Move to under 'C" cores and change the partno/implementer to be correct. 2017-02-14 16:09:28 -08:00
aarch64-tuning-flags.def Update copyright years. 2017-01-01 13:07:43 +01:00
aarch64.c PR60580: Fix frame pointer option magic 2017-11-03 15:01:10 +00:00
aarch64.h PR71951: Fix unwinding with -fomit-frame-pointer 2017-09-21 12:16:31 +00:00
aarch64.md re PR target/78002 (gcc.target/aarch64/stack-checking.c ICEs with -mabi=ilp32) 2017-04-05 11:48:02 +00:00
aarch64.opt [aarch64] Fix typo in aarch64.opt (dummping -> dumping). 2017-03-17 17:05:23 +00:00
arm_acle.h Update copyright years. 2017-01-01 13:07:43 +01:00
arm_fp16.h Update copyright years. 2017-01-01 13:07:43 +01:00
arm_neon.h [ARM,AArch64] more poly64 intrinsics and tests 2017-02-10 14:18:16 +01:00
atomics.md Update copyright years. 2017-01-01 13:07:43 +01:00
biarchilp32.h Update copyright years. 2017-01-01 13:07:43 +01:00
biarchlp64.h Update copyright years. 2017-01-01 13:07:43 +01:00
constraints.md Update copyright years. 2017-01-01 13:07:43 +01:00
cortex-a57-fma-steering.c backport: re PR target/81414 (ICE in fma steering on AArch64/cortex-a57) 2017-07-28 11:13:45 +00:00
driver-aarch64.c Update copyright years. 2017-01-01 13:07:43 +01:00
geniterators.sh Update copyright years. 2017-01-01 13:07:43 +01:00
gentune.sh Update copyright years. 2017-01-01 13:07:43 +01:00
iterators.md [AArch64] Use 'x' constraint for vector HFmode multiplication by indexed element instructions 2017-03-16 10:03:11 +00:00
predicates.md Update copyright years. 2017-01-01 13:07:43 +01:00
rtems.h [RTEMS] Add GCC Runtime Library Exception 2017-07-26 08:31:09 +00:00
t-aarch64 Update copyright years. 2017-01-01 13:07:43 +01:00
t-aarch64-freebsd Update copyright years. 2017-01-01 13:07:43 +01:00
t-aarch64-linux Update copyright years. 2017-01-01 13:07:43 +01:00
thunderx.md Update copyright years. 2017-01-01 13:07:43 +01:00
thunderx2t99.md aarch64-cores.def: Change the scheduler to Thunderx2t99. 2017-02-06 02:23:07 +00:00
x-aarch64 [AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfo 2015-04-24 14:52:47 +00:00