diff options
author | Jessica Paquette <jpaquette@apple.com> | 2019-08-27 17:26:44 +0000 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2019-08-27 17:26:44 +0000 |
commit | 3d9b39b733df56a97f47cf88d09b327e78d3d21c (patch) | |
tree | 9e83bf32b81170d86347cdb92843293a3378f14c /llvm/utils/TableGen/CodeGenTarget.cpp | |
parent | fc1f08c2f2a8112c97419c2dead294112ef704b4 (diff) | |
download | llvm-3d9b39b733df56a97f47cf88d09b327e78d3d21c.zip llvm-3d9b39b733df56a97f47cf88d09b327e78d3d21c.tar.gz llvm-3d9b39b733df56a97f47cf88d09b327e78d3d21c.tar.bz2 |
Revert "[GlobalISel] Import patterns containing INSERT_SUBREG"
When EXPENSIVE_CHECKS are enabled, GlobalISelEmitterSubreg.td doesn't get
stable output.
Reverting while I debug it.
See: https://reviews.llvm.org/D66498
llvm-svn: 370080
Diffstat (limited to 'llvm/utils/TableGen/CodeGenTarget.cpp')
-rw-r--r-- | llvm/utils/TableGen/CodeGenTarget.cpp | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.cpp b/llvm/utils/TableGen/CodeGenTarget.cpp index e9c0752..47e6934 100644 --- a/llvm/utils/TableGen/CodeGenTarget.cpp +++ b/llvm/utils/TableGen/CodeGenTarget.cpp @@ -295,46 +295,6 @@ CodeGenRegBank &CodeGenTarget::getRegBank() const { return *RegBank; } -Optional<CodeGenRegisterClass *> -CodeGenTarget::getSuperRegForSubReg(const ValueTypeByHwMode &ValueTy, - CodeGenRegBank &RegBank, - const CodeGenSubRegIndex *SubIdx) const { - std::vector<CodeGenRegisterClass *> Candidates; - auto &RegClasses = RegBank.getRegClasses(); - - // Try to find a register class which supports ValueTy, and also contains - // SubIdx. - for (CodeGenRegisterClass &RC : RegClasses) { - // Is there a subclass of this class which contains this subregister index? - CodeGenRegisterClass *SubClassWithSubReg = RC.getSubClassWithSubReg(SubIdx); - if (!SubClassWithSubReg) - continue; - - // We have a class. Check if it supports this value type. - if (llvm::none_of(SubClassWithSubReg->VTs, - [&ValueTy](const ValueTypeByHwMode &ClassVT) { - return ClassVT == ValueTy; - })) - continue; - - // We have a register class which supports both the value type and - // subregister index. Remember it. - Candidates.push_back(SubClassWithSubReg); - } - - // If we didn't find anything, we're done. - if (Candidates.empty()) - return None; - - // Find and return the largest of our candidate classes. - llvm::sort(Candidates, - [&](const CodeGenRegisterClass *A, const CodeGenRegisterClass *B) { - return A->getMembers().size() > B->getMembers().size(); - }); - - return Candidates[0]; -} - void CodeGenTarget::ReadRegAltNameIndices() const { RegAltNameIndices = Records.getAllDerivedDefinitions("RegAltNameIndex"); llvm::sort(RegAltNameIndices, LessRecord()); |