diff options
author | Yann Herklotz <git@yannherklotz.com> | 2023-05-11 19:38:03 +0100 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2023-05-11 19:38:03 +0100 |
commit | 47c1289ff658a5aec71635d79ffe30bb29a07876 (patch) | |
tree | 56cf6b959e37fed88c492d34defd3d7ec40e7148 /content/zettel/3c3e.md | |
parent | fbe0fc62120348f582dc4db2b614078943d0764b (diff) | |
download | zk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.tar.gz zk-web-47c1289ff658a5aec71635d79ffe30bb29a07876.zip |
Add content
Diffstat (limited to 'content/zettel/3c3e.md')
-rw-r--r-- | content/zettel/3c3e.md | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/content/zettel/3c3e.md b/content/zettel/3c3e.md new file mode 100644 index 0000000..ecea682 --- /dev/null +++ b/content/zettel/3c3e.md @@ -0,0 +1,28 @@ ++++ +title = "Benefits of explicit basic blocks for scheduling" +author = "Yann Herklotz" +tags = [] +categories = [] +backlinks = ["3c3d"] +forwardlinks = ["3c3f", "3c3e1"] +zettelid = "3c3e" ++++ + +Explicit basic blocks for scheduling means that there is a much more +structured approach to the scheduling algorithm. But it also means that +the intermediate languages cannot be directly translated to RTL again, +as that language is unaware of basic blocks. + +The benefit of having support of parallel execution in the target +language is that the scheduling can be much more powerful as well, as it +can express the parallel execution of instructions directly. This means +that any back end that can take advantage of these parallel instructions +can directly use their parallel nature, without having to do that in a +post-scheduling step. + +In the worst case, this can then be translated back into a sequential +language anyways, if the goal was just to schedule instructions for a +sequential processor, which would have gotten rid of any inefficiencies +due to a back end specific scheduling algorithm. This would mean that +the back end can be taken advantage of for all the following back ends +that compcert has. |