This is an archive of the discontinued LLVM Phabricator instance.

[RegAllocGreedy] IMPLICIT_DEF values shouldn't prefer registers
ClosedPublic

Authored by john.brawn on Dec 13 2018, 6:11 AM.

Details

Summary

It costs nothing to spill an IMPLICIT_DEF value (the only spill code that's generated is a KILL of the value), so when creating split constraints if the live-out value is IMPLICIT_DEF the exit constraint should be DontCare instead of PrefReg.

Diff Detail

Repository
rL LLVM

Event Timeline

john.brawn created this revision.Dec 13 2018, 6:11 AM

It looks good to me, but @arsenm could you also take a look?

This revision is now accepted and ready to land.Dec 13 2018, 1:25 PM
This revision was automatically updated to reflect the committed changes.