Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:overflow

144   /// overflow.
472 /// Create a binary op that checks for overflow.
621 // all values of this integer type. Don't need an overflow check.
647 // Don't need an overflow check for lower bound. Just check for
659 // Don't need an overflow check for upper bound. Just check for
683 // FIXME: Maybe split this sanitizer out from float-cast-overflow.
953 // Divide or modulo by zero, or signed overflow (eg INT_MAX / -1).
957 // Arithmetic overflow (+, -, *).
1669 // atomicrmw instructions. We skip this if we want to be doing overflow
1715 // overflow because of promotion rules; we're just eliding a few steps here.
1869 // Emit unary minus with EmitSub so we handle overflow cases etc.
2346 llvm_unreachable("Unsupported operation for overflow detection");
2358 Value *overflow = Builder.CreateExtractValue(resultAndOverflow, 1);
2360 // Handle overflow with llvm.trap if no custom handler has been specified.
2364 // If the signed-integer-overflow sanitizer is enabled, emit a call to its
2368 llvm::Value *NotOverflow = Builder.CreateNot(overflow);
2373 CGF.EmitTrapCheck(Builder.CreateNot(overflow));
2377 // Branch in case of overflow.
2382 llvm::BasicBlock *overflowBB = CGF.createBasicBlock("overflow", CGF.CurFn);
2384 Builder.CreateCondBr(overflow, overflowBB, continueBB);
2386 // If an overflow handler is set, then we want to call it and then use its
2390 // Get the overflow handler.
2398 // all types of overflow.
2485 // signed-overflow, so we use the same semantics for our explicit
2486 // multiply. We suppress this if overflow is not undefined behavior.