[PATCH] Don't run var-tracking for targetm.no_register_allocation targets

Jakub Jelinek jakub@redhat.com
Thu Mar 26 11:00:00 GMT 2015


Hi!

As discussed earlier, var-tracking assumes no pseudos are in the IL
at the point it is run, which isn't the case for nvptx.
While it would be also reasonable to kill debug stmts earlier or
disable var-tracking, making it clear that var-tracking can't handle this
case is IMHO desirable too.

Ok for trunk?

2015-03-26  Jakub Jelinek  <jakub@redhat.com>

	* var-tracking.c (variable_tracking_main_1): Don't track
	variables for targetm.no_register_allocation targets.

--- gcc/var-tracking.c.jj	2015-03-10 07:35:30.000000000 +0100
+++ gcc/var-tracking.c	2015-03-24 16:55:07.611328164 +0100
@@ -10311,7 +10311,10 @@ variable_tracking_main_1 (void)
 {
   bool success;
 
-  if (flag_var_tracking_assignments < 0)
+  if (flag_var_tracking_assignments < 0
+      /* Var-tracking right now assumes the IR doesn't contain
+	 any pseudos at this point.  */
+      || targetm.no_register_allocation)
     {
       delete_debug_insns ();
       return 0;

	Jakub



More information about the Gcc-patches mailing list