diff options
author | Quentin Carbonneaux <quentin@c9x.me> | 2022-08-31 17:09:04 +0200 |
---|---|---|
committer | Quentin Carbonneaux <quentin@c9x.me> | 2022-10-03 10:41:03 +0200 |
commit | a9a70e30a8205a8f835c59fd8297e4a4483cc8d4 (patch) | |
tree | a4551f26f719951a2301dc248168af385f4ebc68 /main.c | |
parent | 0b26cd4f5ecff8a01fb3f0adb902c14e043581e9 (diff) | |
download | roux-a9a70e30a8205a8f835c59fd8297e4a4483cc8d4.tar.gz |
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.
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/main.c b/main.c index e82b062..253d0c5 100644 --- a/main.c +++ b/main.c @@ -56,6 +56,7 @@ func(Fn *fn) fprintf(stderr, "\n> After parsing:\n"); printfn(fn, stderr); } + T.abi0(fn); fillrpo(fn); fillpreds(fn); filluse(fn); @@ -71,7 +72,7 @@ func(Fn *fn) copy(fn); filluse(fn); fold(fn); - T.abi(fn); + T.abi1(fn); fillpreds(fn); filluse(fn); T.isel(fn); |