From c72254d1ec0e94e5add0edef37c409a9bbddc154 Mon Sep 17 00:00:00 2001 From: johanknol Date: Sat, 8 Mar 2003 13:15:03 +0000 Subject: [PATCH] more compiler internals git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2345 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- doc/sdccman.lyx | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/doc/sdccman.lyx b/doc/sdccman.lyx index 54db9998..89570169 100644 --- a/doc/sdccman.lyx +++ b/doc/sdccman.lyx @@ -7691,6 +7691,9 @@ cc@sdcc.sourceforge.net'. in locating optimization problems. \layout Section +Compiler internals +\layout Subsection + The anatomy of the compiler \layout Standard @@ -8943,10 +8946,53 @@ mov dpl,a \SpecialChar ~ \SpecialChar ~ ret -\size default +\newline + +\layout Subsection + +A few words about basic block successors, predecessors and dominators +\layout Standard + +Successors are basic blocks that might execute after this basic block. +\newline +Predecessors are basic blocks that might execute before reaching this basic + block. +\newline +Dominators are basic blocks that WILL execute before reaching this basic + block. +\newline + +\layout Standard + +[basic block 1] +\layout Standard + +if (something) +\layout Standard + +[basic block 2] +\layout Standard + +else +\layout Standard +[basic block 3] +\layout Standard + +[basic block 4] \newline +\layout Standard + +a) succList of [BB2] = [BB4], of [BB3] = [BB4], of [BB1] = [BB2,BB3] +\layout Standard + +b) predList of [BB2] = [BB1], of [BB3] = [BB1], of [BB4] = [BB2,BB3] +\layout Standard + +c) domVect of [BB4] = BB1 ... + here we are not sure if BB2 or BB3 was executed but we are SURE that BB1 + was executed. \layout Section Acknowledgments -- 2.47.2