From 6ee70824e74fba9b5ef9d97a0717bad0d6cbe60b Mon Sep 17 00:00:00 2001 From: "Ben L. Titzer" Date: Fri, 31 Jan 2025 10:55:09 -0500 Subject: [PATCH] [doc] Add optimization ideas --- doc/allopts.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/allopts.txt b/doc/allopts.txt index 08981870f..48f0477b0 100644 --- a/doc/allopts.txt +++ b/doc/allopts.txt @@ -1,6 +1,11 @@ || All optimizations ======================= +IR-construction time + only create phis for variables referenced after a join point + run all local misc optimizations per-BB + * run loop optimizations immediately after AST translation + local check eliminations * shift check * divide check @@ -27,7 +32,7 @@ local misc fold pointer arithmetic boilerplate object copy for large mostly constant arrays strength-reduce {ADT == k} to check only one tag - combine adjacent loads/stores + combine adjacent byte loads/stores into words byteswap recognition reorder bounds checks of a[0], a[1], a[2]... ordering of strength-reduction and direct call recording (inlining) @@ -147,6 +152,8 @@ whole-program code layout data layout field packing across hierarchy + specialize class to field's type + pull methods down--specialize to this escape analysis region inference--stack allocation purity analysis