comparison src/jit-typeinfo.cc @ 15095:9df70a18aa27

Correct division by zero check in JIT * src/jit-typeinfo.cc (jit_typinfo::jit_typinfo): Correct division by zero check. * src/pt-jit.cc: Add division by zero tests.
author Max Brister <max@2bass.com>
date Fri, 03 Aug 2012 10:14:57 -0500
parents fe4752f772e2
children
comparison
equal deleted inserted replaced
15094:f51f0f288997 15095:9df70a18aa27
1160 { 1160 {
1161 llvm::BasicBlock *warn_block = fn.new_block ("warn"); 1161 llvm::BasicBlock *warn_block = fn.new_block ("warn");
1162 llvm::BasicBlock *normal_block = fn.new_block ("normal"); 1162 llvm::BasicBlock *normal_block = fn.new_block ("normal");
1163 1163
1164 llvm::Value *zero = llvm::ConstantFP::get (scalar_t, 0); 1164 llvm::Value *zero = llvm::ConstantFP::get (scalar_t, 0);
1165 llvm::Value *check = builder.CreateFCmpUEQ (zero, fn.argument (builder, 0)); 1165 llvm::Value *check = builder.CreateFCmpUEQ (zero, fn.argument (builder, 1));
1166 builder.CreateCondBr (check, warn_block, normal_block); 1166 builder.CreateCondBr (check, warn_block, normal_block);
1167 1167
1168 builder.SetInsertPoint (warn_block); 1168 builder.SetInsertPoint (warn_block);
1169 gripe_div0.call (builder); 1169 gripe_div0.call (builder);
1170 builder.CreateBr (normal_block); 1170 builder.CreateBr (normal_block);