diff options
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/GHC/Builtin/Names.hs | 5 | ||||
-rw-r--r-- | compiler/GHC/Core/Opt/ConstantFold.hs | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/compiler/GHC/Builtin/Names.hs b/compiler/GHC/Builtin/Names.hs index 3628b6f3b4..06efc031e4 100644 --- a/compiler/GHC/Builtin/Names.hs +++ b/compiler/GHC/Builtin/Names.hs @@ -354,6 +354,7 @@ basicKnownKeyNames integerToWord64Name, integerToInt64Name, integerFromWordName, + integerFromIntName, integerFromWord64Name, integerFromInt64Name, integerAddName, @@ -1129,6 +1130,7 @@ integerFromNaturalName , integerToWord64Name , integerToInt64Name , integerFromWordName + , integerFromIntName , integerFromWord64Name , integerFromInt64Name , integerAddName @@ -1197,6 +1199,7 @@ integerToIntName = bniVarQual "integerToInt#" integerToIntI integerToWord64Name = bniVarQual "integerToWord64#" integerToWord64IdKey integerToInt64Name = bniVarQual "integerToInt64#" integerToInt64IdKey integerFromWordName = bniVarQual "integerFromWord#" integerFromWordIdKey +integerFromIntName = bniVarQual "integerFromInt#" integerFromIntIdKey integerFromWord64Name = bniVarQual "integerFromWord64#" integerFromWord64IdKey integerFromInt64Name = bniVarQual "integerFromInt64#" integerFromInt64IdKey integerAddName = bniVarQual "integerAdd" integerAddIdKey @@ -2463,6 +2466,7 @@ integerFromNaturalIdKey , integerShiftLIdKey , integerShiftRIdKey , integerFromWordIdKey + , integerFromIntIdKey , integerFromWord64IdKey , integerFromInt64IdKey , integerDecodeDoubleIdKey @@ -2518,6 +2522,7 @@ integerFromWordIdKey = mkPreludeMiscIdUnique 638 integerFromWord64IdKey = mkPreludeMiscIdUnique 639 integerFromInt64IdKey = mkPreludeMiscIdUnique 640 integerDecodeDoubleIdKey = mkPreludeMiscIdUnique 641 +integerFromIntIdKey = mkPreludeMiscIdUnique 642 naturalToWordIdKey = mkPreludeMiscIdUnique 650 naturalAddIdKey = mkPreludeMiscIdUnique 651 diff --git a/compiler/GHC/Core/Opt/ConstantFold.hs b/compiler/GHC/Core/Opt/ConstantFold.hs index 892dd445f9..d5095d6999 100644 --- a/compiler/GHC/Core/Opt/ConstantFold.hs +++ b/compiler/GHC/Core/Opt/ConstantFold.hs @@ -1312,7 +1312,8 @@ builtinRules enableBignumRules builtinBignumRules :: EnableBignumRules -> [CoreRule] builtinBignumRules (EnableBignumRules False) = [] builtinBignumRules _ = - [ rule_IntegerFromLitNum "Word# -> Integer" integerFromWordName + [ rule_IntegerFromLitNum "Int# -> Integer" integerFromIntName + , rule_IntegerFromLitNum "Word# -> Integer" integerFromWordName , rule_IntegerFromLitNum "Int64# -> Integer" integerFromInt64Name , rule_IntegerFromLitNum "Word64# -> Integer" integerFromWord64Name , rule_IntegerFromLitNum "Natural -> Integer" integerFromNaturalName @@ -1347,7 +1348,7 @@ builtinBignumRules _ = , rule_shift_op "integerShiftL" integerShiftLName shiftL , rule_shift_op "integerShiftR" integerShiftRName shiftR , rule_integerBit "integerBit" integerBitName - -- See Note [Integer division constant folding] in libraries/base/GHC/Real.hs + -- See Note [Integer constant folding] in "GHC.Num.Integer" , rule_divop_one "integerQuot" integerQuotName quot , rule_divop_one "integerRem" integerRemName rem , rule_divop_one "integerDiv" integerDivName div |