
11 Dec
2012
11 Dec
'12
4:33 p.m.
On Tue, Dec 11, 2012 at 11:16 AM, Simon Peyton-Jones
Notice that the stack is now *explicit* rather than implicit, and LLVM has no hope of moving the assignment to z past the call to g (which is trivial in the original). I can explain WHY we do this (there is stuff on the wiki) but the fact is that we do, and it's no accident.
I'd definitely be interesting in understanding why as it, like you say, makes it harder for LLVM to understand what our code does and optimize it well. -- Johan