summary refs log tree commit diff stats
path: root/compiler/ic/design.rst
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2021-04-19 11:48:06 +0200
committerGitHub <noreply@github.com>2021-04-19 11:48:06 +0200
commit4b0b536419a500dc2e5a987ed9c2a374e0848008 (patch)
treed2f0caf0cfe36dc549ecadefee9ed1002b66558f /compiler/ic/design.rst
parent83fa0fc843a5757c6fa1af9ac89b85b71c0c7581 (diff)
downloadNim-4b0b536419a500dc2e5a987ed9c2a374e0848008.tar.gz
ic refactoring (#17778)
* minor IC documentation update

* IC: refactoring: removed the 'shared' type and fields, these were a leftover from an earlier design
Diffstat (limited to 'compiler/ic/design.rst')
-rw-r--r--compiler/ic/design.rst8
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/ic/design.rst b/compiler/ic/design.rst
index d8e1315b1..b096e3103 100644
--- a/compiler/ic/design.rst
+++ b/compiler/ic/design.rst
@@ -7,12 +7,8 @@ The frontend produces a set of `.rod` files. Every `.nim` module
 produces its own `.rod` file.
 
 - The IR must be a faithful representation of the AST in memory.
-- The backend can do its own caching but doesn't have to.
-- We know by comparing 'nim check compiler/nim' against 'nim c compiler/nim'
-  that 2/3 of the compiler's runtime is spent in the frontend. Hence we
-  implement IC for the frontend first and only later for the backend. The
-  backend will recompile everything until we implement its own caching
-  mechanisms.
+- The backend can do its own caching but doesn't have to. In the
+  current implementation the backend also caches its results.
 
 Advantage of the "set of files" vs the previous global database:
 - By construction, we either read from the `.rod` file or from the