summaryrefslogtreecommitdiff
path: root/compiler/simplCore/Simplify.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/simplCore/Simplify.hs')
-rw-r--r--compiler/simplCore/Simplify.hs36
1 files changed, 18 insertions, 18 deletions
diff --git a/compiler/simplCore/Simplify.hs b/compiler/simplCore/Simplify.hs
index 2156dc55b8..0130e06469 100644
--- a/compiler/simplCore/Simplify.hs
+++ b/compiler/simplCore/Simplify.hs
@@ -746,7 +746,7 @@ arity computation it performs (via CoreArity.findRhsArity) already
does a simple bottoming-expression analysis. So all we need to do
is propagate that info to the binder's IdInfo.
-This showed up in Trac #12150; see comment:16.
+This showed up in #12150; see comment:16.
Note [Setting the demand info]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1218,7 +1218,7 @@ rebuild env expr cont
{- Note [Optimising reflexivity]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's important (for compiler performance) to get rid of reflexivity as soon
-as it appears. See Trac #11735, #14737, and #15019.
+as it appears. See #11735, #14737, and #15019.
In particular, we want to behave well on
@@ -1232,7 +1232,7 @@ In particular, we want to behave well on
build up NthCo stacks. Silly to do that if co is reflexive.
However, we don't want to call isReflexiveCo too much, because it uses
-type equality which is expensive on big types (Trac #14737 comment:7).
+type equality which is expensive on big types (#14737 comment:7).
A good compromise (determined experimentally) seems to be to call
isReflexiveCo
@@ -1240,7 +1240,7 @@ isReflexiveCo
* at the end
In investigating this I saw missed opportunities for on-the-fly
-coercion shrinkage. See Trac #15090.
+coercion shrinkage. See #15090.
-}
@@ -1292,7 +1292,7 @@ simplCast env body co0 cont0
-- 'co' with the InExpr 'arg', so we simplify
-- to make it all consistent. It's a bit messy.
-- But it isn't a common case.
- -- Example of use: Trac #995
+ -- Example of use: #995
; return (ApplyToVal { sc_arg = mkCast arg' co1
, sc_env = arg_se'
, sc_dup = dup'
@@ -1524,7 +1524,7 @@ Simplifying rules and stable-unfoldings happens a bit after
simplifying the right-hand side, so we remember whether or not it
is a join point, and what 'cont' is, in a value of type MaybeJoinCont
-Trac #13900 wsa caused by forgetting to push 'cont' into the RHS
+#13900 wsa caused by forgetting to push 'cont' into the RHS
of a SpecConstr-generated RULE for a join point.
-}
@@ -2269,7 +2269,7 @@ where 'r' is used strictly in (..r..), we can safely transform to
This is a Good Thing, because 'r' might be dead (if the body just
calls error), or might be used just once (in which case it can be
inlined); or we might be able to float the let-binding up or down.
-E.g. Trac #15631 has an example.
+E.g. #15631 has an example.
Note that this can change the error behaviour. For example, we might
transform
@@ -2280,7 +2280,7 @@ let-bound to (error "good").
Nevertheless, the paper "A semantics for imprecise exceptions" allows
this transformation. If you want to fix the evaluation order, use
-'pseq'. See Trac #8900 for an example where the loss of this
+'pseq'. See #8900 for an example where the loss of this
transformation bit us in practice.
See also Note [Empty case alternatives] in CoreSyn.
@@ -2298,7 +2298,7 @@ There have been various earlier versions of this patch:
scrut_is_demanded_var _ = False
This only fired if the scrutinee was a /variable/, which seems
- an unnecessary restriction. So in Trac #15631 I relaxed it to allow
+ an unnecessary restriction. So in #15631 I relaxed it to allow
arbitrary scrutinees. Less code, less to explain -- but the change
had 0.00% effect on nofib.
@@ -2313,7 +2313,7 @@ There have been various earlier versions of this patch:
case_bndr_evald_next (Case e _ _ _) = case_bndr_evald_next e
case_bndr_evald_next _ = False
- This patch was part of fixing Trac #7542. See also
+ This patch was part of fixing #7542. See also
Note [Eta reduction of an eval'd function] in CoreUtils.)
@@ -2562,7 +2562,7 @@ We'd like to transform
so that 'rhs' can take advantage of the form of x'. Notice that Note
[Case of cast] (in OccurAnal) may then apply to the result.
-We'd also like to eliminate empty types (Trac #13468). So if
+We'd also like to eliminate empty types (#13468). So if
data Void
type instance F Bool = Void
@@ -2698,7 +2698,7 @@ NB: simplLamBinders preserves this eval info
In addition to handling data constructor fields with !s, addEvals
also records the fact that the result of seq# is always in WHNF.
-See Note [seq# magic] in PrelRules. Example (Trac #15226):
+See Note [seq# magic] in PrelRules. Example (#15226):
case seq# v s of
(# s', v' #) -> E
@@ -2707,7 +2707,7 @@ we want the compiler to be aware that v' is in WHNF in E.
Open problem: we don't record that v itself is in WHNF (and we can't
do it here). The right thing is to do some kind of binder-swap;
-see Trac #15226 for discussion.
+see #15226 for discussion.
-}
addEvals :: Maybe OutExpr -> DataCon -> [Id] -> [Id]
@@ -2799,7 +2799,7 @@ The let/app invariant requires that y is evaluated in the call to
reallyUnsafePtrEq#, which it is. But we still want that to be true if we
propagate binders to occurrences.
-This showed up in Trac #13027.
+This showed up in #13027.
Note [Add unfolding for scrutinee]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -2975,7 +2975,7 @@ When we have
of alts
then we can just duplicate those alts because the A and C cases
will disappear immediately. This is more direct than creating
-join points and inlining them away. See Trac #4930.
+join points and inlining them away. See #4930.
-}
--------------------
@@ -3208,7 +3208,7 @@ Supposing that body is big, we end up with
This is just what we want because the rn produces a box that
the case rn cancels with.
-See Trac #4957 a fuller example.
+See #4957 a fuller example.
Note [Case binders and join points]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -3306,7 +3306,7 @@ them. Thus:
Now if the thing in the hole is a case expression (which is when
we'll call mkDupableCont), we'll push the function call into the
branches, which is what we want. Now RULES for f may fire, and
-call-pattern specialisation. Here's an example from Trac #3116
+call-pattern specialisation. Here's an example from #3116
go (n+1) (case l of
1 -> bs'
_ -> Chunk p fpc (o+1) (l-1) bs')
@@ -3489,7 +3489,7 @@ simplStableUnfolding env top_lvl mb_cont id unf rhs_ty
-- has got small. This happens, notably in the inlinings
-- for dfuns for single-method classes; see
-- Note [Single-method classes] in TcInstDcls.
- -- A test case is Trac #4138
+ -- A test case is #4138
-- But retain a previous boring_ok of True; e.g. see
-- the way it is set in calcUnfoldingGuidanceWithArity
in return (mkCoreUnfolding src is_top_lvl expr' guide')