1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

Have ConstantExprs upgrade opcodes the same way as instructions.

llvm-svn: 31841
This commit is contained in:
Reid Spencer 2006-11-18 04:37:19 +00:00
parent eb9b1840b3
commit c7a1e60e44

View File

@ -1506,9 +1506,19 @@ inline unsigned BytecodeReader::upgradeCEOpcodes(
Opcode = 10; // Div
else if (Opcode >=13 && Opcode <= 15) // URem through FRem
Opcode = 11; // Rem
else if (Opcode > 15) // Everything above FRem
else if (Opcode >= 16 && Opcode <= 35) // And through Shr
// Adjust for new instruction codes
Opcode -= 4;
else if (Opcode >= 36 && Opcode <= 42) // Everything after Select
// In vers 6 bytecode we eliminated the placeholders for the obsolete
// VAARG and VANEXT instructions. Consequently those two slots were
// filled starting with Select (36) which was 34. So now we only need
// to subtract two. This circumvents hitting opcodes 32 and 33
Opcode -= 2;
else { // Opcode < 10 or > 42
// No upgrade necessary.
return 0;
}
}
switch (Opcode) {