Added asserts to prevent negative shift amounts from being generated.

llvm-svn: 7640
This commit is contained in:
Misha Brukman 2003-08-06 16:28:49 +00:00
parent 4510698acb
commit 31b31d94d9
1 changed files with 2 additions and 0 deletions

View File

@ -131,6 +131,7 @@ void CodeEmitterGen::run(std::ostream &o) {
// Mask off the right bits
// Low mask (ie. shift, if necessary)
assert(endBitInVar >= 0 && "Negative shift amount in masking!");
if (endBitInVar != 0) {
o << " op" << OpOrder[Vals[i].getName()]
<< " >>= " << endBitInVar << ";\n";
@ -143,6 +144,7 @@ void CodeEmitterGen::run(std::ostream &o) {
<< " &= (1<<" << beginBitInVar+1 << ") - 1;\n";
// Shift the value to the correct place (according to place in inst)
assert(endBitInInst >= 0 && "Negative shift amount in inst position!");
if (endBitInInst != 0)
o << " op" << OpOrder[Vals[i].getName()]
<< " <<= " << endBitInInst << ";\n";