This is an archive of the discontinued LLVM Phabricator instance.

ScheduleDAG: Fix incorrectly killing registers in bundles
ClosedPublic

Authored by arsenm on Jul 2 2019, 11:34 AM.

Details

Summary

When looking for uses/defs to add kill flags, the iterator was double
incremented, skipping the first instruction in the bundle. The use
register in the first bundle instruction was then incorrectly killed.
The "First" instruction should be the BUNDLE itself as the proper
reverse iterator endpoint.

Diff Detail

Event Timeline

arsenm created this revision.Jul 2 2019, 11:34 AM
fhahn accepted this revision.Jul 5 2019, 3:55 AM

LGTM, thanks!

lib/CodeGen/ScheduleDAGInstrs.cpp
1107

I think this is not well named. It does not point to the first instruction in the bundle, but the BUNDLE. IMO it would be good to adjust that.

1108

nit: no braces required anymore.

This revision is now accepted and ready to land.Jul 5 2019, 3:55 AM
arsenm closed this revision.Jul 5 2019, 8:32 AM
arsenm marked 2 inline comments as done.

r365216