From 9ce414c17428e71897a4c0ce0e6b4cebe19ea9b1 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Sun, 21 Sep 2008 19:28:57 +0200 Subject: [PATCH] Fix NegExp not to use substraction. --- gen/toir.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/gen/toir.cpp b/gen/toir.cpp index 5406dbfa..785e95c1 100644 --- a/gen/toir.cpp +++ b/gen/toir.cpp @@ -2024,18 +2024,8 @@ DValue* NegExp::toElem(IRState* p) } LLValue* val = l->getRVal(); - Type* t = type->toBasetype(); - LLValue* zero = 0; - if (t->isintegral()) - zero = llvm::ConstantInt::get(val->getType(), 0, true); - else if (t->isfloating()) { - zero = DtoConstFP(type, 0.0); - } - else - assert(0); - - val = llvm::BinaryOperator::createSub(zero,val,"tmp",p->scopebb()); + val = gIR->ir->CreateNeg(val,"negval"); return new DImValue(type, val); }