This is an archive of the discontinued LLVM Phabricator instance.

[X86] Fix a bug in handling GRXX subclasses in Domain Reassignment pass
ClosedPublic

Authored by guyblank on Nov 21 2017, 2:11 AM.

Details

Summary

When choosing the mask register class to convert to, only "regular" GPR classes were handled (GR8, GR16, GR32, GR64),
The patch adds handling for their subclasses as well.
Added a 32 bit RUN line to the test, so classes like GR8_ABCD and such will be used. This would fail with an assertion without the patch.

Diff Detail

Repository
rL LLVM

Event Timeline

guyblank created this revision.Nov 21 2017, 2:11 AM
zvi added inline comments.Nov 22 2017, 8:02 AM
test/CodeGen/X86/gpr-to-mask.ll
1 ↗(On Diff #123743)

Please commit this modified test and rebase the patch so the improvements will be apparent

guyblank added inline comments.Nov 23 2017, 12:18 AM
test/CodeGen/X86/gpr-to-mask.ll
1 ↗(On Diff #123743)

it fails with an assertion without the code changes

zvi accepted this revision.Nov 30 2017, 3:23 AM

LGTM

This revision is now accepted and ready to land.Nov 30 2017, 3:23 AM
This revision was automatically updated to reflect the committed changes.