[llvm-commits] [llvm] r103743 - /llvm/trunk/include/llvm/Target/TargetLowering.h
Evan Cheng
evan.cheng at apple.com
Thu May 13 16:25:21 PDT 2010
Author: evancheng
Date: Thu May 13 18:25:21 2010
New Revision: 103743
URL: http://llvm.org/viewvc/llvm-project?rev=103743&view=rev
Log:
Eliminate use of magic numbers to access OpActions. It also has the effect of allowing more than 31 scalar value types. MAX_ALLOWED_VALUETYPE had already been updated to 64 a while back.
Modified:
llvm/trunk/include/llvm/Target/TargetLowering.h
Modified: llvm/trunk/include/llvm/Target/TargetLowering.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Target/TargetLowering.h?rev=103743&r1=103742&r2=103743&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Target/TargetLowering.h (original)
+++ llvm/trunk/include/llvm/Target/TargetLowering.h Thu May 13 18:25:21 2010
@@ -202,12 +202,14 @@
}
unsigned I = VT.getSimpleVT().SimpleTy;
assert(I<4*array_lengthof(ValueTypeActions)*sizeof(ValueTypeActions[0]));
- return (LegalizeAction)((ValueTypeActions[I>>4] >> ((2*I) & 31)) & 3);
+ unsigned Mask = (unsigned)MVT::MAX_ALLOWED_VALUETYPE-1;
+ return (LegalizeAction)((ValueTypeActions[I>>4] >> ((2*I) & Mask)) & 3);
}
void setTypeAction(EVT VT, LegalizeAction Action) {
unsigned I = VT.getSimpleVT().SimpleTy;
assert(I<4*array_lengthof(ValueTypeActions)*sizeof(ValueTypeActions[0]));
- ValueTypeActions[I>>4] |= Action << ((I*2) & 31);
+ unsigned Mask = (unsigned)MVT::MAX_ALLOWED_VALUETYPE-1;
+ ValueTypeActions[I>>4] |= Action << ((I*2) & Mask);
}
};
@@ -360,9 +362,9 @@
(unsigned)VT.getSimpleVT().SimpleTy < sizeof(OpActions[0][0])*8 &&
"Table isn't big enough!");
unsigned I = (unsigned) VT.getSimpleVT().SimpleTy;
- unsigned J = I & 31;
+ unsigned J = I & ((unsigned)MVT::MAX_ALLOWED_VALUETYPE-1);
I = I >> 5;
- return (LegalizeAction)((OpActions[I][Op] >> (J*2) ) & 3);
+ return (LegalizeAction)((OpActions[I][Op] >> (J*2)) & 3);
}
/// isOperationLegalOrCustom - Return true if the specified operation is
@@ -987,7 +989,7 @@
void setOperationAction(unsigned Op, MVT VT,
LegalizeAction Action) {
unsigned I = (unsigned)VT.SimpleTy;
- unsigned J = I & 31;
+ unsigned J = I & ((unsigned)MVT::MAX_ALLOWED_VALUETYPE - 1);
I = I >> 5;
OpActions[I][Op] &= ~(uint64_t(3UL) << (J*2));
OpActions[I][Op] |= (uint64_t)Action << (J*2);
More information about the llvm-commits
mailing list