[PATCH] Filter out Pseudo nodes in ScheduleDAGVLIW
Sergei Larin
slarin at codeaurora.org
Mon Apr 29 14:30:48 PDT 2013
Stefan,
Would you happen to have a test case for this? Thanks.
Sergei
---
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation
> -----Original Message-----
> From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
> bounces at cs.uiuc.edu] On Behalf Of Stefan Hepp
> Sent: Monday, April 29, 2013 7:54 AM
> To: llvm-commits at cs.uiuc.edu
> Subject: [PATCH] Filter out Pseudo nodes in ScheduleDAGVLIW
>
> 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
More information about the llvm-commits
mailing list