Remove -ftrapu.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68330 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGExprScalar.cpp b/lib/CodeGen/CGExprScalar.cpp
index 1d2da0d..225b708 100644
--- a/lib/CodeGen/CGExprScalar.cpp
+++ b/lib/CodeGen/CGExprScalar.cpp
@@ -262,9 +262,8 @@
     
   // Binary Operators.
   Value *EmitMul(const BinOpInfo &Ops) {
-    if (CGF.getContext().getLangOptions().UnsignedOverflowChecking
-        || (CGF.getContext().getLangOptions().OverflowChecking
-            && Ops.Ty->isSignedIntegerType()))
+    if (CGF.getContext().getLangOptions().OverflowChecking
+        && Ops.Ty->isSignedIntegerType())
       return EmitOverflowCheckedBinOp(Ops);
     return Builder.CreateMul(Ops.LHS, Ops.RHS, "mul");
   }
@@ -837,54 +836,28 @@
   unsigned IID;
   unsigned OpID = 0;
 
-  if (Ops.Ty->isSignedIntegerType()) {
-    switch (Ops.E->getOpcode()) {
-      case BinaryOperator::Add:
-      case BinaryOperator::AddAssign:
-        OpID = 1;
-        IID = llvm::Intrinsic::sadd_with_overflow;
-        break;
-      case BinaryOperator::Sub:
-      case BinaryOperator::SubAssign:
-        OpID = 2;
-        IID = llvm::Intrinsic::ssub_with_overflow;
-        break;
-      case BinaryOperator::Mul:
-      case BinaryOperator::MulAssign:
-        OpID = 3;
-        IID = llvm::Intrinsic::smul_with_overflow;
-        break;
-      default:
-		fprintf(stderr, "Opcode: %d\n", Ops.E->getOpcode());
-        assert(false && "Unsupported operation for overflow detection");
-    }
-    OpID <<= 1;
-    OpID |= 1;
+  switch (Ops.E->getOpcode()) {
+  case BinaryOperator::Add:
+  case BinaryOperator::AddAssign:
+    OpID = 1;
+    IID = llvm::Intrinsic::sadd_with_overflow;
+    break;
+  case BinaryOperator::Sub:
+  case BinaryOperator::SubAssign:
+    OpID = 2;
+    IID = llvm::Intrinsic::ssub_with_overflow;
+    break;
+  case BinaryOperator::Mul:
+  case BinaryOperator::MulAssign:
+    OpID = 3;
+    IID = llvm::Intrinsic::smul_with_overflow;
+    break;
+  default:
+    assert(false && "Unsupported operation for overflow detection");
   }
-  else {
-    assert(Ops.Ty->isUnsignedIntegerType() && 
-        "Must be either a signed or unsigned integer op");
-    switch (Ops.E->getOpcode()) {
-      case BinaryOperator::Add:
-      case BinaryOperator::AddAssign:
-        OpID = 1;
-        IID = llvm::Intrinsic::uadd_with_overflow;
-        break;
-      case BinaryOperator::Sub:
-      case BinaryOperator::SubAssign:
-        OpID = 2;
-        IID = llvm::Intrinsic::usub_with_overflow;
-        break;
-      case BinaryOperator::Mul:
-      case BinaryOperator::MulAssign:
-        OpID = 3;
-        IID = llvm::Intrinsic::umul_with_overflow;
-        break;
-      default:
-        assert(false && "Unsupported operation for overflow detection");
-    }
-    OpID <<= 1;
-  }
+  OpID <<= 1;
+  OpID |= 1;
+
   const llvm::Type *opTy = CGF.CGM.getTypes().ConvertType(Ops.Ty);
 
   llvm::Function *intrinsic = CGF.CGM.getIntrinsic(IID, &opTy, 1);
@@ -945,9 +918,8 @@
 
 Value *ScalarExprEmitter::EmitAdd(const BinOpInfo &Ops) {
   if (!Ops.Ty->isPointerType()) {
-    if (CGF.getContext().getLangOptions().UnsignedOverflowChecking
-        || (CGF.getContext().getLangOptions().OverflowChecking
-            && Ops.Ty->isSignedIntegerType()))
+    if (CGF.getContext().getLangOptions().OverflowChecking
+        && Ops.Ty->isSignedIntegerType())
       return EmitOverflowCheckedBinOp(Ops);
     return Builder.CreateAdd(Ops.LHS, Ops.RHS, "add");
   }
@@ -998,9 +970,8 @@
 
 Value *ScalarExprEmitter::EmitSub(const BinOpInfo &Ops) {
   if (!isa<llvm::PointerType>(Ops.LHS->getType())) {
-    if (CGF.getContext().getLangOptions().UnsignedOverflowChecking
-        || (CGF.getContext().getLangOptions().OverflowChecking
-            && Ops.Ty->isSignedIntegerType()))
+    if (CGF.getContext().getLangOptions().OverflowChecking
+        && Ops.Ty->isSignedIntegerType())
       return EmitOverflowCheckedBinOp(Ops);
     return Builder.CreateSub(Ops.LHS, Ops.RHS, "sub");
   }