Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Overflow

106   /// does not overflow.
428 /// Create a binary op that checks for overflow.
577 // all values of this integer type. Don't need an overflow check.
603 // Don't need an overflow check for lower bound. Just check for
615 // Don't need an overflow check for upper bound. Just check for
639 // FIXME: Maybe split this sanitizer out from float-cast-overflow.
862 // Divide or modulo by zero, or signed overflow (eg INT_MAX / -1).
866 // Signed arithmetic overflow (+, -, *).
1481 // atomicrmw instructions. We skip this if we want to be doing overflow
1530 // overflow because of promotion rules; we're just eliding a few steps here.
1672 // Emit unary minus with EmitSub so we handle overflow cases etc.
2048 llvm::Value *Overflow = Builder.CreateOr(LHSCmp, RHSCmp, "or");
2049 Cond = Cond ? Builder.CreateAnd(Cond, Overflow, "and") : Overflow;
2126 llvm_unreachable("Unsupported operation for overflow detection");
2138 Value *overflow = Builder.CreateExtractValue(resultAndOverflow, 1);
2140 // Handle overflow with llvm.trap if no custom handler has been specified.
2144 // If the signed-integer-overflow sanitizer is enabled, emit a call to its
2147 EmitBinOpCheck(Builder.CreateNot(overflow), Ops);
2149 CGF.EmitTrapCheck(Builder.CreateNot(overflow));
2153 // Branch in case of overflow.
2158 llvm::BasicBlock *overflowBB = CGF.createBasicBlock("overflow", CGF.CurFn);
2160 Builder.CreateCondBr(overflow, overflowBB, continueBB);
2162 // If an overflow handler is set, then we want to call it and then use its
2166 // Get the overflow handler.
2174 // all types of overflow.
2261 // signed-overflow, so we use the same semantics for our explicit
2262 // multiply. We suppress this if overflow is not undefined behavior.