[PATCH] Filter out Pseudo nodes in ScheduleDAGVLIW
Stefan Hepp
stefan at stefant.org
Mon Apr 29 05:53:45 PDT 2013
Hi,
ScheduleDAGVLIW uses the HazardRecognizer, but does not filter out any
Pseudo nodes, causing the ScoreboardHazardRecognizer to run into an
assertion:
virtual void
llvm::ScoreboardHazardRecognizer::EmitInstruction(llvm::SUnit *):
Assertion `MCID && "The scheduler must filter non-machineinstrs"' failed.
I copied the EmitNode function from ScheduleDAGRRList which does exactly
that and added it to ScheduleDAGVLIW, and filtered out COPY_TO_REGCLASS
in the ResourcePriorityQueue, now the VLIW scheduler also works for my
custom backend (and the llvm tests still work).
I attached the patch to this email. It is against LLVM 3.2, but the
relevant code has not changed in upstream.
Regards,
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Filter-out-pseudo-nodes-in-ScheduleDAGVLIW.patch
Type: text/x-patch
Size: 3404 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130429/07f4569c/attachment.bin>
More information about the llvm-commits
mailing list