SuccessChanges

Summary

  1. [UnreachableBlockElim] Check return value of constrainRegClass(). Summary: MachineRegisterInfo::constrainRegClass() can fail if two register classes don't have a common subclass or if the register class doesn't contain enough registers. Check the return value before trying to remove Phi nodes, and if we can't constrain, we output a COPY instead of simply replacing registers. Reviewers: kparzysz, david2050, wmi Reviewed By: kparzysz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32999
Revision 302622 by uabelho:
[UnreachableBlockElim] Check return value of constrainRegClass().

Summary:
MachineRegisterInfo::constrainRegClass() can fail if two register classes
don't have a common subclass or if the register class doesn't contain
enough registers. Check the return value before trying to remove Phi nodes,
and if we can't constrain, we output a COPY instead of simply replacing
registers.

Reviewers: kparzysz, david2050, wmi

Reviewed By: kparzysz

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D32999
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/UnreachableBlockElim.cpp (diff)llvm-revision.src/llvm/trunk/lib/CodeGen/UnreachableBlockElim.cpp