diff options
| author | Ed Schouten <ed@FreeBSD.org> | 2009-06-06 08:20:29 +0000 | 
|---|---|---|
| committer | Ed Schouten <ed@FreeBSD.org> | 2009-06-06 08:20:29 +0000 | 
| commit | f4fe016fa15f703fe9c1b932d1e81e2c718521db (patch) | |
| tree | 8a1bbd1a5b838080d31e5c93a1817006b8c62318 /lib/ExecutionEngine/ExecutionEngine.cpp | |
| parent | 68eb509bdc5c7007520d5231cd92de28106236df (diff) | |
Notes
Diffstat (limited to 'lib/ExecutionEngine/ExecutionEngine.cpp')
| -rw-r--r-- | lib/ExecutionEngine/ExecutionEngine.cpp | 21 | 
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 29a05bbbdb64..a80513f3df9e 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -573,8 +573,11 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {        return GV;      }      case Instruction::Add: +    case Instruction::FAdd:      case Instruction::Sub: +    case Instruction::FSub:      case Instruction::Mul: +    case Instruction::FMul:      case Instruction::UDiv:      case Instruction::SDiv:      case Instruction::URem: @@ -605,11 +608,11 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {        case Type::FloatTyID:          switch (CE->getOpcode()) {            default: assert(0 && "Invalid float opcode"); abort(); -          case Instruction::Add:   +          case Instruction::FAdd:              GV.FloatVal = LHS.FloatVal + RHS.FloatVal; break; -          case Instruction::Sub:   +          case Instruction::FSub:              GV.FloatVal = LHS.FloatVal - RHS.FloatVal; break; -          case Instruction::Mul:   +          case Instruction::FMul:              GV.FloatVal = LHS.FloatVal * RHS.FloatVal; break;            case Instruction::FDiv:               GV.FloatVal = LHS.FloatVal / RHS.FloatVal; break; @@ -620,11 +623,11 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {        case Type::DoubleTyID:          switch (CE->getOpcode()) {            default: assert(0 && "Invalid double opcode"); abort(); -          case Instruction::Add:   +          case Instruction::FAdd:              GV.DoubleVal = LHS.DoubleVal + RHS.DoubleVal; break; -          case Instruction::Sub:   +          case Instruction::FSub:              GV.DoubleVal = LHS.DoubleVal - RHS.DoubleVal; break; -          case Instruction::Mul:   +          case Instruction::FMul:              GV.DoubleVal = LHS.DoubleVal * RHS.DoubleVal; break;            case Instruction::FDiv:               GV.DoubleVal = LHS.DoubleVal / RHS.DoubleVal; break; @@ -638,15 +641,15 @@ GenericValue ExecutionEngine::getConstantValue(const Constant *C) {          APFloat apfLHS = APFloat(LHS.IntVal);          switch (CE->getOpcode()) {            default: assert(0 && "Invalid long double opcode"); abort(); -          case Instruction::Add:   +          case Instruction::FAdd:              apfLHS.add(APFloat(RHS.IntVal), APFloat::rmNearestTiesToEven);              GV.IntVal = apfLHS.bitcastToAPInt();              break; -          case Instruction::Sub:   +          case Instruction::FSub:              apfLHS.subtract(APFloat(RHS.IntVal), APFloat::rmNearestTiesToEven);              GV.IntVal = apfLHS.bitcastToAPInt();              break; -          case Instruction::Mul:   +          case Instruction::FMul:              apfLHS.multiply(APFloat(RHS.IntVal), APFloat::rmNearestTiesToEven);              GV.IntVal = apfLHS.bitcastToAPInt();              break;  | 
