loop-init.c (260073) | loop-init.c (260194) |
---|---|
1/* Loop optimizer initialization routines and RTL loop optimization passes. 2 Copyright (C) 2002, 2003, 2004, 2005 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 --- 29 unchanged lines hidden (view full) --- 38 loops. */ 39 40struct loops * 41loop_optimizer_init (unsigned flags) 42{ 43 struct loops *loops = XCNEW (struct loops); 44 edge e; 45 edge_iterator ei; | 1/* Loop optimizer initialization routines and RTL loop optimization passes. 2 Copyright (C) 2002, 2003, 2004, 2005 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 --- 29 unchanged lines hidden (view full) --- 38 loops. */ 39 40struct loops * 41loop_optimizer_init (unsigned flags) 42{ 43 struct loops *loops = XCNEW (struct loops); 44 edge e; 45 edge_iterator ei; |
46 static bool first_time = true; |
|
46 | 47 |
48 if (first_time) 49 { 50 first_time = false; 51 init_set_costs (); 52 } 53 |
|
47 /* Avoid annoying special cases of edges going to exit 48 block. */ 49 50 for (ei = ei_start (EXIT_BLOCK_PTR->preds); (e = ei_safe_edge (ei)); ) 51 if ((e->flags & EDGE_FALLTHRU) && !single_succ_p (e->src)) 52 split_edge (e); 53 else 54 ei_next (&ei); --- 329 unchanged lines hidden --- | 54 /* Avoid annoying special cases of edges going to exit 55 block. */ 56 57 for (ei = ei_start (EXIT_BLOCK_PTR->preds); (e = ei_safe_edge (ei)); ) 58 if ((e->flags & EDGE_FALLTHRU) && !single_succ_p (e->src)) 59 split_edge (e); 60 else 61 ei_next (&ei); --- 329 unchanged lines hidden --- |