X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=doc%2Fsdccman.lyx;h=895701693d4d5fbe47f98d670c439a964b1e9913;hb=c72254d1ec0e94e5add0edef37c409a9bbddc154;hp=84368988c4ee0410bc75ee3e422eea23fec4c45a;hpb=c385de6ebbfa9ebc8a02d95d1b31be656af6b445;p=fw%2Fsdcc diff --git a/doc/sdccman.lyx b/doc/sdccman.lyx index 84368988..89570169 100644 --- a/doc/sdccman.lyx +++ b/doc/sdccman.lyx @@ -1986,12 +1986,20 @@ Will not do loop reversal optimization. \layout List \labelwidthstring 00.00.0000 +--- +\series bold +nolabelopt +\series default + Will not optimize labels (makes the dumpfiles more readable). +\layout List +\labelwidthstring 00.00.0000 + \series bold ---no-xinit-opt \series default - This will disable the memcpy of initialized data in far space from code - space + Will not memcpy initialized data in far space from code space. + This saves a few bytes in code space if you don't have initialized data. \layout Subsubsection Other Options @@ -2008,6 +2016,15 @@ Other Options \labelwidthstring 00.00.0000 +\series bold +--c1mode +\series default + reads the preprocessed source from standard input and compiles it. + The file name for the assembler output must be specified using the -o option. +\layout List +\labelwidthstring 00.00.0000 + + \series bold -E \series default @@ -2290,6 +2307,24 @@ cyclomatic complexity -V \series default Shows the actual commands the compiler is executing. +\layout List +\labelwidthstring 00.00.0000 + + +\series bold +---no-c-code-in-asm +\series default + Hides your ugly and inefficient c-code from the asm file, so you can always + blame the compiler :). +\layout List +\labelwidthstring 00.00.0000 + + +\series bold +---i-code-in-asm +\series default + Include i-codes in the asm file. + Looks like noise but is most helpfull for debugging the compiler itself. \layout Subsubsection Intermediate Dump Options @@ -7656,6 +7691,9 @@ cc@sdcc.sourceforge.net'. in locating optimization problems. \layout Section +Compiler internals +\layout Subsection + The anatomy of the compiler \layout Standard @@ -8908,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