X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FsimplCore%2FSimplify.lhs;h=d2e912b900d6471a74c11407e4d9f61d98993ee8;hb=e50fa4a41693ccd5d95034d02f4452b6c627a377;hp=376c7b9541b3cc79b39dc5b1ae612fc4adbc04b5;hpb=0835bc7710c69eb7b7f12b76efd9a8900b60f8a0;p=ghc-hetmet.git diff --git a/compiler/simplCore/Simplify.lhs b/compiler/simplCore/Simplify.lhs index 376c7b9..d2e912b 100644 --- a/compiler/simplCore/Simplify.lhs +++ b/compiler/simplCore/Simplify.lhs @@ -410,7 +410,7 @@ becomes prepareRhs :: SimplEnv -> OutExpr -> SimplM (SimplEnv, OutExpr) -- Adds new floats to the env iff that allows us to return a good RHS -prepareRhs env (Cast rhs co) -- Note [Float coersions] +prepareRhs env (Cast rhs co) -- Note [Float coercions] = do { (env', rhs') <- makeTrivial env rhs ; return (env', Cast rhs' co) } @@ -735,8 +735,9 @@ simplCast env body co cont where addCoerce co cont = add_coerce co (coercionKind co) cont - add_coerce co (s1, k1) cont - | s1 `coreEqType` k1 = cont + add_coerce co (s1, k1) cont -- co :: ty~ty + | s1 `coreEqType` k1 = cont -- is a no-op + add_coerce co1 (s1, k2) (CoerceIt co2 cont) | (l1, t1) <- coercionKind co2 -- coerce T1 S1 (coerce S1 K1 e)