-
Notifications
You must be signed in to change notification settings - Fork 13.5k
PeepholeOpt: Immediately check if a reg_sequence compose supports a subregister #128279
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PeepholeOpt: Immediately check if a reg_sequence compose supports a subregister #128279
Conversation
…ubregister This is a quick fix for EXPENSIVE_CHECKS bot failures. I still think we could defer looking for a compatible subregister further up the use-def chain, and should be able to check compatibilty with the ultimate found source.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
ping |
// TODO: Should we modify the register class to support the index? | ||
const TargetRegisterClass *SrcRC = MRI.getRegClass(RegSeqInput.Reg); | ||
const TargetRegisterClass *SrcWithSubRC = | ||
TRI->getSubClassWithSubReg(SrcRC, ComposedDefInSrcReg1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the return in the test case given?
Is it null
-- is the comparison with the SrcRC important?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, the class matters:
Here it's SrcWithSubRC: DPR_VFP2 SrcRC: DPR. We would need to restrict the register class to the subclass with the subreg
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/25/builds/6731 Here is the relevant piece of the build log for the reference
|
This is a quick fix for EXPENSIVE_CHECKS bot failures. I still think we could
defer looking for a compatible subregister further up the use-def chain, and
should be able to check compatibilty with the ultimate found source.