• dterei's avatar
    LLVM: Stop llvm saving stg caller-save regs across C calls · 0d657c49
    dterei authored
    This is already handled by the Cmm code generator so LLVM is simply
    duplicating work. LLVM also doesn't know which ones are actually live
    so saves them all which causes a fair performance overhead for C calls
    on x64. We stop llvm saving them across the call by storing undef to
    them just before the call.
    0d657c49
CodeGen.hs 43.7 KB