cfgloop.c (117395) | cfgloop.c (122180) |
---|---|
1/* Natural loop discovery code for GNU compiler. 2 Copyright (C) 2000, 2001 Free Software Foundation, Inc. 3 4This file is part of GCC. 5 6GCC is free software; you can redistribute it and/or modify it under 7the terms of the GNU General Public License as published by the Free 8Software Foundation; either version 2, or (at your option) any later --- 790 unchanged lines hidden (view full) --- 799 800 num_loops = 0; 801 FOR_EACH_BB (header) 802 { 803 int more_latches = 0; 804 805 header->loop_depth = 0; 806 | 1/* Natural loop discovery code for GNU compiler. 2 Copyright (C) 2000, 2001 Free Software Foundation, Inc. 3 4This file is part of GCC. 5 6GCC is free software; you can redistribute it and/or modify it under 7the terms of the GNU General Public License as published by the Free 8Software Foundation; either version 2, or (at your option) any later --- 790 unchanged lines hidden (view full) --- 799 800 num_loops = 0; 801 FOR_EACH_BB (header) 802 { 803 int more_latches = 0; 804 805 header->loop_depth = 0; 806 |
807 /* If we have an abnormal predecessor, do not consider the 808 loop (not worth the problems). */ |
|
807 for (e = header->pred; e; e = e->pred_next) | 809 for (e = header->pred; e; e = e->pred_next) |
810 if (e->flags & EDGE_ABNORMAL) 811 break; 812 if (e) 813 continue; 814 815 for (e = header->pred; e; e = e->pred_next) |
|
808 { 809 basic_block latch = e->src; 810 811 if (e->flags & EDGE_ABNORMAL) | 816 { 817 basic_block latch = e->src; 818 819 if (e->flags & EDGE_ABNORMAL) |
812 { 813 if (more_latches) 814 { 815 RESET_BIT (headers, header->index); 816 num_loops--; 817 } 818 break; 819 } | 820 abort (); |
820 821 /* Look for back edges where a predecessor is dominated 822 by this block. A natural loop has a single entry 823 node (header) that dominates all the nodes in the 824 loop. It also has single back edge to the header 825 from a latch node. */ 826 if (latch != ENTRY_BLOCK_PTR && dominated_by_p (dom, latch, header)) 827 { --- 374 unchanged lines hidden --- | 821 822 /* Look for back edges where a predecessor is dominated 823 by this block. A natural loop has a single entry 824 node (header) that dominates all the nodes in the 825 loop. It also has single back edge to the header 826 from a latch node. */ 827 if (latch != ENTRY_BLOCK_PTR && dominated_by_p (dom, latch, header)) 828 { --- 374 unchanged lines hidden --- |