summaryrefslogtreecommitdiff
path: root/compiler/GHC
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC')
-rw-r--r--compiler/GHC/Builtin/Names.hs5
-rw-r--r--compiler/GHC/Core/Opt/ConstantFold.hs5
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