Silly assertion. Forgot variable_ops instructions can have arbitrary number of

operands.

llvm-svn: 32592
This commit is contained in:
Evan Cheng 2006-12-15 06:37:08 +00:00
parent 2455e6937b
commit 16057e7454
1 changed files with 4 additions and 2 deletions

View File

@ -132,8 +132,10 @@ public:
/// it is set. Returns -1 if it is not set.
int getOperandConstraint(unsigned OpNum,
TOI::OperandConstraint Constraint) const {
assert(OpNum < numOperands && "Invalid operand # of TargetInstrInfo");
if (OpInfo[OpNum].Constraints & (1 << Constraint)) {
assert((OpNum < numOperands || (Flags & M_VARIABLE_OPS)) &&
"Invalid operand # of TargetInstrInfo");
if (OpNum < numOperands &&
(OpInfo[OpNum].Constraints & (1 << Constraint))) {
unsigned Pos = 16 + Constraint * 4;
return (int)(OpInfo[OpNum].Constraints >> Pos) & 0xf;
}