This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Don't run var-tracking for targetm.no_register_allocation targets
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 26 Mar 2015 12:00:15 +0100
- Subject: [PATCH] Don't run var-tracking for targetm.no_register_allocation targets
- Authentication-results: sourceware.org; auth=none
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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