Ignore casts that just repack state. Don't make VHDL for them, their type is empty
authorChristiaan Baaij <christiaan.baaij@gmail.com>
Fri, 14 Aug 2009 14:34:16 +0000 (16:34 +0200)
committerChristiaan Baaij <christiaan.baaij@gmail.com>
Fri, 14 Aug 2009 14:34:16 +0000 (16:34 +0200)
cλash/CLasH/VHDL/Generate.hs

index 7faeb01429628714edcea5c095d8a94d2aaf3fec..8732164c37a47cd526be481aaa2d137c216553e0 100644 (file)
@@ -187,7 +187,10 @@ mkConcSm ::
 
 
 -- Ignore Cast expressions, they should not longer have any meaning as long as
--- the type works out.
+-- the type works out. Throw away state repacking
+mkConcSm (bndr, to@(CoreSyn.Cast from ty))
+  | hasStateType to && hasStateType from
+  = return ([],[])
 mkConcSm (bndr, CoreSyn.Cast expr ty) = mkConcSm (bndr, expr)
 
 -- Simple a = b assignments are just like applications, but without arguments.