3.6.1 patch nomination: r233351 Fix PR22304
Paweł Bylica
chfast at gmail.com
Fri Mar 27 06:16:55 PDT 2015
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
Review: 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
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150327/e5eb5b03/attachment.html>
More information about the llvm-commits
mailing list