This is the mail archive of the gcc-patches@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: AIX regression due to DFA scheduler merge


 In message <200206030220.WAA28130@makai.watson.ibm.com>, David Edelsohn 
writes:
 > 	Yes, I was looking at forward dependencies as well.  Without the
 > libcall patch, the relevant dependencies look like the following.  insn
 > 2954 is the troublesome instruction.
[ ... ]

Look at this code in compute_forward_dependencies:

      for (link = LOG_LINKS (insn); link; link = XEXP (link, 1))
        {
          rtx x = group_leader (XEXP (link, 0));
          rtx new_link;

          if (x != XEXP (link, 0))
            continue;

INSN is the current insn and we're going to take its backwards dataflow
dependencies and turn them into forward dataflow dependencies.   So let's
assume INSN has a dependency on something in a libcall block.  We call
group_leader and get the tail of the libcall block, then we "continue"
and thus effectively drop the dependency.

Jeff





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