For PR950:

Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31195 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer
2006-10-26 06:15:43 +00:00
parent 7043d00750
commit 1628cec4d7
32 changed files with 3086 additions and 1944 deletions

View File

@@ -1041,7 +1041,7 @@ StackerCompiler::handle_word( int tkn )
LoadInst* op1 = cast<LoadInst>(pop_integer(bb));
LoadInst* op2 = cast<LoadInst>(pop_integer(bb));
BinaryOperator* divop =
BinaryOperator::create( Instruction::Div, op1, op2);
BinaryOperator::create( Instruction::SDiv, op1, op2);
bb->getInstList().push_back( divop );
push_value( bb, divop );
break;
@@ -1072,7 +1072,7 @@ StackerCompiler::handle_word( int tkn )
// Divide by the third operand
BinaryOperator* divop =
BinaryOperator::create( Instruction::Div, multop, op3);
BinaryOperator::create( Instruction::SDiv, multop, op3);
bb->getInstList().push_back( divop );
// Push the result