[PATCH] D40113: AMDGPU: Fix crash when scheduling DBG_VALUE
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 17 16:45:15 PST 2017
arsenm added inline comments.
================
Comment at: lib/Target/AMDGPU/GCNSchedStrategy.cpp:333
Unsched.reserve(NumRegionInstrs);
- for (auto &I : *this)
- Unsched.push_back(&I);
+ for (auto &I : *this) {
+ if (!I.isDebugValue())
----------------
rampitec wrote:
> arsenm wrote:
> > rampitec wrote:
> > > I am afraid this will push RegionBegin iterator. Maybe you need to skip a debug value in the loop at line 389 instead.
> > That's what I did originally, but then it seems to just be adding unneeded instructions to the vector. The loop over this uses MI->getIterator(), so I don't think there's a difference
> Check statement "RegionBegin = Unsched.front()->getIterator();" below at line 415.
I think the only thing that will change is if a dbg_value is considered the start of the region. I'm not sure how exactly dbg_value is supposed to interact with the region. Looking at the generic code it seems like dbg_value isn't considered part of a scheduling region, and is skipped over so maybe this shouldn't be allowing dbg_value as the RegionBegin?
https://reviews.llvm.org/D40113
More information about the llvm-commits
mailing list