Changes between Initial Version and Version 1 of Ticket #5171
- Timestamp:
- Jul 15, 2011 10:28:45 PM (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #5171 – Description
initial v1 3 3 4 4 Let's say we have (Op1 arg1 arg2) and we want to transform it to (Op2 arg1 (Op3 arg2 arg1)). Doing this would mean that arg1 would be computed more than once. Instead, the following should be possible: 5 5 {{{ 6 6 arg1_reg <- arg1 7 7 (Op2 arg1_reg (Op3 arg2 arg1_reg)) 8 8 }}} 9 9 The lack of this feature already stops one of optimisations from happening in most cases. See: 10 10 {{{ 11 11 CmmReg _ <- x -> -- We duplicate x below, hence require 12 12 -- it is a reg. FIXME: remove this restriction. 13 13 }}} 14 14 in CmmOpt.hs. 15 15