diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2011-06-03 01:41:54 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2011-06-03 01:41:54 +0000 |
commit | 2ba42841595c45e522de73fd3b7577f05f2b9f10 (patch) | |
tree | 130af17e97b82f01416842e2e1eb7a7c299619c4 /gcc/target.def | |
parent | 7a7249780d14ee05e74a57e41bd4618b9a4f176d (diff) | |
download | gcc-2ba42841595c45e522de73fd3b7577f05f2b9f10.zip gcc-2ba42841595c45e522de73fd3b7577f05f2b9f10.tar.gz gcc-2ba42841595c45e522de73fd3b7577f05f2b9f10.tar.bz2 |
re PR debug/47590 (pragma optimize doesn't recompute derived options (was: var tracking produces wrong debug in code where optimization is turned off using pragma))
PR debug/47590
* target.def (delay_sched2, delay_vartrack): New.
* doc/tm.texi.in: Update.
* doc/tm.texi: Rebuild.
* sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
* var-tracking.c (gate_handle_var_tracking): Likewise.
* config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
(bfin_flag_var_tracking): Drop.
(output_file_start): Don't save and override flag_var_tracking.
(bfin_option_override): Ditto flag_schedule_insns_after_reload.
(bfin_reorg): Test original variables.
(TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
* config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
(ia64_flag_var_tracking): Drop.
(TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
(ia64_file_start): Don't save and override flag_var_tracking.
(ia64_override_options_after_change): Ditto
flag_schedule_insns_after_reload.
(ia64_reorg): Test original variables.
* config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
(picochip_flag_var_tracking): Drop.
(TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
(picochip_option_override): Don't save and override
flag_schedule_insns_after_reload.
(picochip_asm_file_start): Ditto flag_var_tracking.
(picochip_reorg): Test original variables.
* config/spu/spu.c (spu_flag_var_tracking): Drop.
(TARGET_DELAY_VARTRACK): Define.
(spu_var_tracking): New.
(spu_machine_dependent_reorg): Call it.
(asm_file_start): Don't save and override flag_var_tracking.
From-SVN: r174595
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/target.def b/gcc/target.def index ea283f3..3215bd3 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -2717,6 +2717,16 @@ DEFHOOKPOD in particular GDB does not use them.", bool, false) +DEFHOOKPOD +(delay_sched2, "True if sched2 is not to be run at its normal place. \ +This usually means it will be run as part of machine-specific reorg.", +bool, false) + +DEFHOOKPOD +(delay_vartrack, "True if vartrack is not to be run at its normal place. \ +This usually means it will be run as part of machine-specific reorg.", +bool, false) + /* Leave the boolean fields at the end. */ /* Close the 'struct gcc_target' definition. */ |