This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: a question regarding ifcvt.c


On 5/21/07, Tehila Meyzels <TEHILA@il.ibm.com> wrote:

Hi,


I'd like to get an explanation why ifcvt.c checks whether 1 of the 2
successors of the IF-header block has a stmt that exits from the loop?
Why does it prevent the if-conversion?
I'm referring to the following code:

/* Nor exit the loop.  */
  if ((then_edge->flags & EDGE_LOOP_EXIT)
      || (else_edge->flags & EDGE_LOOP_EXIT))
    return NULL;

To prevent ifcvt from moving computations into loops. See this patch:


http://gcc.gnu.org/ml/gcc-patches/2003-07/msg01864.html

Gr.
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]