aboutsummaryrefslogtreecommitdiff
path: root/documentation/bookmark/optimization/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/bookmark/optimization/compiler')
-rw-r--r--documentation/bookmark/optimization/compiler/constant_propagation.md7
-rw-r--r--documentation/bookmark/optimization/compiler/dead_code_elimination.md5
-rw-r--r--documentation/bookmark/optimization/compiler/tail_call.md5
-rw-r--r--documentation/bookmark/optimization/compiler/tail_recursion_modulo_cons.md6
4 files changed, 23 insertions, 0 deletions
diff --git a/documentation/bookmark/optimization/compiler/constant_propagation.md b/documentation/bookmark/optimization/compiler/constant_propagation.md
new file mode 100644
index 000000000..00e88f36e
--- /dev/null
+++ b/documentation/bookmark/optimization/compiler/constant_propagation.md
@@ -0,0 +1,7 @@
+# Reference
+
+0. []()
+0. [Compiler Adventures, part 1: No-op Instructions](https://medium.com/@predrag.gruevski/compiler-adventures-part-1-no-op-instructions-c084358c7864)
+0. [Compiler Adventures, part 2: Constant Propagation](https://medium.com/@predrag.gruevski/compiler-adventures-part-2-constant-propagation-c6f2e67d9881)
+0. [Compiler Adventures, part 3: Value Numbering](https://medium.com/@predrag.gruevski/compiler-adventures-part-3-value-numbering-12d087b891bd)
+
diff --git a/documentation/bookmark/optimization/compiler/dead_code_elimination.md b/documentation/bookmark/optimization/compiler/dead_code_elimination.md
new file mode 100644
index 000000000..03a4bd9ca
--- /dev/null
+++ b/documentation/bookmark/optimization/compiler/dead_code_elimination.md
@@ -0,0 +1,5 @@
+# Reference
+
+0. [PartialExecuter: Reducing WebAssembly size by exploring all executions in LLVM](https://leaningtech.com/reducing-webassembly-size-by-exploring-all-executions-in-llvm/)
+0. [Dead code elimination](https://en.wikipedia.org/wiki/Dead_code_elimination)
+
diff --git a/documentation/bookmark/optimization/compiler/tail_call.md b/documentation/bookmark/optimization/compiler/tail_call.md
new file mode 100644
index 000000000..6bfccef62
--- /dev/null
+++ b/documentation/bookmark/optimization/compiler/tail_call.md
@@ -0,0 +1,5 @@
+# Reference
+
+0. [Parsing Protobuf at 2+GB/s: How I Learned To Love Tail Calls in C](https://blog.reverberate.org/2021/04/21/musttail-efficient-interpreters.html)
+0. [musttail](https://clang.llvm.org/docs/AttributeReference.html#musttail)
+
diff --git a/documentation/bookmark/optimization/compiler/tail_recursion_modulo_cons.md b/documentation/bookmark/optimization/compiler/tail_recursion_modulo_cons.md
new file mode 100644
index 000000000..e82648af6
--- /dev/null
+++ b/documentation/bookmark/optimization/compiler/tail_recursion_modulo_cons.md
@@ -0,0 +1,6 @@
+# Reference
+
+0. [Tail recursion modulo cons](https://en.wikipedia.org/wiki/Tail_call#Tail_recursion_modulo_cons)
+0. [Tail recursion, but modulo cons](https://jfmengels.net/modulo-cons/)
+0. [A faster `List.map` for Elm](https://discourse.elm-lang.org/t/a-faster-list-map-for-elm/6721)
+