+2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
+ if branch-hint optimization will be performed.
+
2011-01-03 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/47148
asm_file_start (void)
{
/* Variable tracking should be run after all optimizations which
- change order of insns. It also needs a valid CFG. */
- spu_flag_var_tracking = flag_var_tracking;
- flag_var_tracking = 0;
+ change order of insns. It also needs a valid CFG. Therefore,
+ *if* we make nontrivial changes in machine-dependent reorg,
+ run variable tracking after those. However, if we do not run
+ our machine-dependent reorg pass, we must still run the normal
+ variable tracking pass (or else we will ICE in final since
+ debug insns have not been removed). */
+ if (TARGET_BRANCH_HINTS && optimize)
+ {
+ spu_flag_var_tracking = flag_var_tracking;
+ flag_var_tracking = 0;
+ }
default_file_start ();
}