Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
42537 commits behind the upstream repository.
  • Sylvain Henry's avatar
    9ab76ca5
    Cmm: introduce SAVE_REGS/RESTORE_REGS · 9ab76ca5
    Sylvain Henry authored
    We don't want to save both Fn and Dn register sets on x86-64 as they are
    aliased to the same arch register (XMMn).
    
    Moreover, when SAVE_STGREGS was used in conjunction with `jump foo [*]`
    which makes a set of Cmm registers alive so that they cover all arch
    registers used to pass parameter, we could have Fn, Dn and XMMn alive at
    the same time. It made the LLVM code generator choke (see #17920).
    
    Now `SAVE_REGS/RESTORE_REGS` and `jump foo [*]` use the same set of
    registers.
    
    (cherry picked from commit 54b595c1)
    9ab76ca5
    History
    Cmm: introduce SAVE_REGS/RESTORE_REGS
    Sylvain Henry authored
    We don't want to save both Fn and Dn register sets on x86-64 as they are
    aliased to the same arch register (XMMn).
    
    Moreover, when SAVE_STGREGS was used in conjunction with `jump foo [*]`
    which makes a set of Cmm registers alive so that they cover all arch
    registers used to pass parameter, we could have Fn, Dn and XMMn alive at
    the same time. It made the LLVM code generator choke (see #17920).
    
    Now `SAVE_REGS/RESTORE_REGS` and `jump foo [*]` use the same set of
    registers.
    
    (cherry picked from commit 54b595c1)
Code owners
Assign users and groups as approvers for specific file changes. Learn more.