add new target-specific abi0 pass

The general idea is to give abis a
chance to talk before we've done all
the optimizations. Currently, all
targets eliminate {par,arg,ret}{sb,ub,...}
during this pass. The forthcoming
arm64_apple will, however, insert
proper extensions during abi0.

Moving forward abis can, for example,
lower small-aggregates passing there
so that memory optimizations can
interact better with function calls.
This commit is contained in:
Quentin Carbonneaux 2022-08-31 17:09:04 +02:00
parent 0b26cd4f5e
commit a9a70e30a8
7 changed files with 43 additions and 7 deletions

View file

@ -24,7 +24,8 @@ amd64_memargs(int op)
.retregs = amd64_sysv_retregs, \
.argregs = amd64_sysv_argregs, \
.memargs = amd64_memargs, \
.abi = amd64_sysv_abi, \
.abi0 = elimsb, \
.abi1 = amd64_sysv_abi, \
.isel = amd64_isel, \
Target T_amd64_sysv = {