Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
Source project has a limited visibility.
  • Erik de Castro Lopo's avatar
    4093e6da
    nativeGen PPC: fix > 16 bit offsets in stack handling · 4093e6da
    Erik de Castro Lopo authored and Ben Gamari's avatar Ben Gamari committed
    Back port of Peter Trommler's patch from master (19dae027cb) to the
    7.10 branch. Peter's commit does not apply to the 7.10 branch because
    PowerPC64 was added to master after the 7.10 branch was started.
    
    Comments from the original commit:
    Implement access to spill slots at offsets larger than 16 bits.
    Also allocation and deallocation of spill slots was restricted to
    16 bit offsets. Now 32 bit offsets are supported on all PowerPC
    platforms.
    
    The implementation of 32 bit offsets requires more than one instruction
    but the native code generator wants one instruction. So we implement
    pseudo-instructions that are pretty printed into multiple assembly
    instructions.
    
    With pseudo-instructions for spill slot allocation and deallocation
    we can also implement handling of the back chain pointer according
    to the ELF ABIs.
    4093e6da
    History
    nativeGen PPC: fix > 16 bit offsets in stack handling
    Erik de Castro Lopo authored and Ben Gamari's avatar Ben Gamari committed
    Back port of Peter Trommler's patch from master (19dae027cb) to the
    7.10 branch. Peter's commit does not apply to the 7.10 branch because
    PowerPC64 was added to master after the 7.10 branch was started.
    
    Comments from the original commit:
    Implement access to spill slots at offsets larger than 16 bits.
    Also allocation and deallocation of spill slots was restricted to
    16 bit offsets. Now 32 bit offsets are supported on all PowerPC
    platforms.
    
    The implementation of 32 bit offsets requires more than one instruction
    but the native code generator wants one instruction. So we implement
    pseudo-instructions that are pretty printed into multiple assembly
    instructions.
    
    With pseudo-instructions for spill slot allocation and deallocation
    we can also implement handling of the back chain pointer according
    to the ELF ABIs.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.