[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