Comments only
authorSimon Peyton Jones <simonpj@microsoft.com>
Fri, 16 Aug 2013 10:15:12 +0000 (11:15 +0100)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 19 Aug 2013 08:46:10 +0000 (09:46 +0100)
compiler/codeGen/StgCmmExpr.hs

index 20b65ba..bbb5937 100644 (file)
@@ -313,13 +313,20 @@ cgCase (StgOpApp (StgPrimOp op) args _) bndr (AlgAlt tycon) alts
 
 {-
 Note [case on bool]
-
+~~~~~~~~~~~~~~~~~~~
 This special case handles code like
 
   case a <# b of
     True ->
     False ->
 
+-->  case tagToEnum# (a <$# b) of
+        True -> .. ; False -> ...
+
+--> case (a <$# b) of r -> 
+    case tagToEnum# r of
+        True -> .. ; False -> ...
+
 If we let the ordinary case code handle it, we'll get something like
 
  tmp1 = a < b