Feldspar/feldspar-language — pull request #40 by pjonsson (2012-12-07 14:52:11+00:00)
Title: Float selects over lets

We've been trying to construct code that writes two values per loop iteration by mainly using Vectors and in the last stage convert the Vectors to PushVectors, but hit a wall with insufficient CSE in monadic expressions. Inserting some explicit shares in the source code made the situation somewhat better, but that materialized an explicit tuple in the generated code instead. If we push selects over let-expressions that eliminates the intermediate tuple and we have reasonable code again.