Keep Touch'd variables live through the back end
authordias@cs.tufts.edu <unknown>
Fri, 18 Sep 2009 19:07:53 +0000 (19:07 +0000)
committerdias@cs.tufts.edu <unknown>
Fri, 18 Sep 2009 19:07:53 +0000 (19:07 +0000)
commit787b08bdea84cca4bf9490d87c059453bffc5ad2
tree2716161b7fc6c951e6d572c6356defae08073f72
parente4caa74b6c809cd17c5d1f7d472b9a47b2ea6f1c
Keep Touch'd variables live through the back end
When we used derived pointers into the middle of an object,
we need to keep the pointer to the start of the object live.
We use a "fat machine instruction" with the primitive MO_Touch
to propagate this information through the back end.
compiler/cmm/Cmm.hs
compiler/cmm/CmmCvt.hs
compiler/cmm/ZipCfgCmmRep.hs
compiler/codeGen/StgCmmForeign.hs
compiler/codeGen/StgCmmPrim.hs