diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-03 11:27:49 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-03 11:27:49 +0000 |
commit | beca87f70d44f5fa36a282ece8f905c976a9cb17 (patch) | |
tree | c8d4ba17142cc1576c46eab39a7f84c284d79dff | |
parent | 8ade54d222070b759c3f3caf5ddcb91fa935d935 (diff) | |
download | gcc-beca87f70d44f5fa36a282ece8f905c976a9cb17.tar.gz |
* var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if
set->regs[i] is NULL or has just one entry.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160216 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/var-tracking.c | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c397c2562d6..8e4aed8a338 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ 2010-06-03 Jan Hubicka <jh@suse.cz> + Jakub Jelinek <jakub@redhat.com> + + * var-tracking.c (dataflow_set_equiv_regs): Shortcut the loop if + set->regs[i] is NULL or has just one entry. + +2010-06-03 Jan Hubicka <jh@suse.cz> * lto-cgraph.c (lto_varpool_encoder_size): Remove. * lto-streamer.h (lto_varpool_encoder_size): New inline function. @@ -546,7 +552,7 @@ * tree-inline.c (estimate_num_insns): For stdarg functions look into call statement to count cost of argument passing. -2010-06-01 Kai Tietz +2010-06-01 Kai Tietz <kai.tietz@onevision.com> * config/i386.c (ix86_output_addr_vec_elt): Make LPREFIX argument for fprintf. diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 967661274ce..76cd7f85b19 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -3694,6 +3694,11 @@ dataflow_set_equiv_regs (dataflow_set *set) { rtx canon[NUM_MACHINE_MODES]; + /* If the list is empty or one entry, no need to canonicalize + anything. */ + if (set->regs[i] == NULL || set->regs[i]->next == NULL) + continue; + memset (canon, 0, sizeof (canon)); for (list = set->regs[i]; list; list = list->next) |