3.6.1 patch nomination: r233351 Fix PR22304

Tom Stellard tom at stellard.net
Fri Mar 27 13:47:55 PDT 2015


LGTM, go ahead and merge this into the 3.6 branch.

On Fri, Mar 27, 2015 at 12:21:47PM -0700, Andrew Trick wrote:
> Fine with me.
> Andy
> 
> > On Mar 27, 2015, at 6:16 AM, Paweł Bylica <chfast at gmail.com> wrote:
> > 
> > Hi Andrew, Quentin, Owen & Tom,
> > 
> > I'm not sure who is the owner of the code but I worked with Quentin and Andrew on the solution. I would like the fix to be included in 3.6.1.
> > 
> > - Paweł
> > 
> > r233351:
> > 
> > Bug: https://llvm.org/bugs/show_bug.cgi?id=22304 <https://llvm.org/bugs/show_bug.cgi?id=22304>
> > Review: http://reviews.llvm.org/D8556 <http://reviews.llvm.org/D8556>
> > 
> > Author: atrick
> > Date: Thu Mar 26 22:44:13 2015
> > New Revision: 233351
> > 
> > URL: http://llvm.org/viewvc/llvm-project?rev=233351&view=rev <http://llvm.org/viewvc/llvm-project?rev=233351&view=rev>
> > Log:
> > Fix a bug in SelectionDAG scheduling backtracking code: PR22304.
> > 
> > It can happen (by line CurSU->isPending = true; // This SU is not in
> > AvailableQueue right now.) that a SUnit is mark as available but is
> > not in the AvailableQueue. For SUnit being selected for scheduling
> > both conditions must be met.
> > 
> > This patch mainly defensively protects from invalid removing a node
> > from a queue. Sometimes nodes are marked isAvailable but are not in
> > the queue because they have been defered due to some hazard.
> > 
> > Patch by Pawel Bylica!
> > 
> > Added:
> >     llvm/trunk/test/CodeGen/Generic/scheduler-backtracking.ll
> > Modified:
> >     llvm/trunk/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
> 




More information about the llvm-commits mailing list