cmm: Expose machine's stack and return address register
authorBen Gamari <ben@smart-cactus.org>
Wed, 26 Aug 2015 22:36:59 +0000 (00:36 +0200)
committerBen Gamari <ben@smart-cactus.org>
Sun, 1 Nov 2015 14:19:47 +0000 (15:19 +0100)
commit159a1a2b7501b149fadfc0cd1940fab6bf030691
tree8f62c8322dfe7118c901438fa735e170963438f4
parent76611d750247c1f6fd1323ef5564af16b97e8157
cmm: Expose machine's stack and return address register

We will need to use these to setup proper unwinding information for the
stg_stop_thread closure. This pokes a hole in the STG abstraction,
exposing the machine's stack pointer register so that we can accomplish
this. We also expose a dummy return address register, which corresponds
to the register used to hold the DWARF return address.

Differential Revision: https://phabricator.haskell.org/D1225
compiler/cmm/CmmExpr.hs
compiler/cmm/CmmLex.x
compiler/cmm/PprCmmExpr.hs
compiler/codeGen/CgUtils.hs
compiler/llvmGen/LlvmCodeGen/Regs.hs
compiler/nativeGen/Dwarf/Types.hs
includes/CodeGen.Platform.hs
includes/stg/MachRegs.h