diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-07-05 07:19:29 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-07-05 07:19:29 +0000 |
commit | 8012b077dd4d1c88e0221448c67147324c4e00cf (patch) | |
tree | fce93ccd6c36339c1da4aff000fac827fd793fd5 /utils/TableGen/CodeGenTarget.cpp | |
parent | 0e1d37904abbf7e8c4c478408253dd995f3040f4 (diff) |
Instructions with ImmutablePredicateOperand aren't really predicable since their predicates are fixed at isel time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37899 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenTarget.cpp')
-rw-r--r-- | utils/TableGen/CodeGenTarget.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/utils/TableGen/CodeGenTarget.cpp b/utils/TableGen/CodeGenTarget.cpp index c54ecd02e4..e4d80ee669 100644 --- a/utils/TableGen/CodeGenTarget.cpp +++ b/utils/TableGen/CodeGenTarget.cpp @@ -411,7 +411,10 @@ CodeGenInstruction::CodeGenInstruction(Record *R, const std::string &AsmStr) if (unsigned NumArgs = MIOpInfo->getNumArgs()) NumOps = NumArgs; - isPredicable |= Rec->isSubClassOf("PredicateOperand"); + if (Rec->isSubClassOf("PredicateOperand")) { + if (!Rec->getValueAsBit("isImmutable")) + isPredicable = true; + } } else if (Rec->getName() == "variable_ops") { hasVariableNumberOfOperands = true; continue; |