HomePhabricator

X86: Use a callee save register for the swiftself parameter.

Description

X86: Use a callee save register for the swiftself parameter.

It is very likely that the swiftself parameter is alive throughout most
functions function so putting it into a callee save register should
avoid spills for the callers with only a minimum amount of extra spills
in the callees.

Currently the generated code is correct but unnecessarily spills and
reloads arguments passed in callee save registers, I will address this
in upcoming patches.

This also adds a missing check that for tail calls the preserved value
of the caller must be the same as the callees parameter.

Differential Revision: http://reviews.llvm.org/D18902

Details

Committed
matzeApr 13 2016, 2:43 PM
Differential Revision
D18902: X86: Use a callee save register for the swiftself parameter.
Parents
rL266251: AArch64: Use a callee save registers for swiftself parameters
Branches
Unknown
Tags
Unknown