mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-20 16:17:38 +00:00
Fix PR3453 and probably a bunch of other potential
crashes or wrong code with codegen of large integers: eliminate the legacy getIntegerVTBitMask and getIntegerVTSignBit methods, which returned their value as a uint64_t, so couldn't handle huge types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63494 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -842,7 +842,7 @@ bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) {
|
||||
// If sign-extended doesn't fit, does it fit as unsigned?
|
||||
unsigned ValueMask;
|
||||
unsigned UnsignedVal;
|
||||
ValueMask = unsigned(MVT(VT).getIntegerVTBitMask());
|
||||
ValueMask = unsigned(~uint32_t(0UL) >> (32-Size));
|
||||
UnsignedVal = unsigned(II->getValue());
|
||||
|
||||
if ((ValueMask & UnsignedVal) != UnsignedVal) {
|
||||
|
||||
Reference in New Issue
Block a user