This is an archive of the discontinued LLVM Phabricator instance.

ScheduleDAGInstrs: Ignore dependencies of constant physregs
ClosedPublic

Authored by MatzeB on Nov 1 2016, 4:08 PM.

Details

Summary

There is no need to track dependencies for constant physregs, as they don't change their value no matter in what order you read/write to them.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB updated this revision to Diff 76649.Nov 1 2016, 4:08 PM
MatzeB retitled this revision from to ScheduleDAGInstrs: Ignore dependencies of constant physregs.
MatzeB updated this object.
MatzeB added reviewers: atrick, jonpa, gberry, qcolombet.
MatzeB set the repository for this revision to rL LLVM.
MatzeB added a subscriber: llvm-commits.
gberry edited edge metadata.Nov 8 2016, 12:19 PM

This seems reasonable to me.

This seems reasonable to me.

Reasonable enough for a "LGTM"?

gberry accepted this revision.Nov 10 2016, 3:11 PM
gberry edited edge metadata.

Sure. I took a look at some of the assembly diffs and I'm curious to know if you observed any significant performance gains with the increased scheduling freedom?

This revision is now accepted and ready to land.Nov 10 2016, 3:11 PM

Sure. I took a look at some of the assembly diffs and I'm curious to know if you observed any significant performance gains with the increased scheduling freedom?

You probably will not see any change in codegen with this patch alone.

However when applying https://reviews.llvm.org/D26111 there are some regressions which get fixed by this patch. And with D26111 I see some smaller improvements in codesize and performance (because we effectively decrease register pressure when replacing with the zero register early).

This revision was automatically updated to reflect the committed changes.