73
|
1 <map version="0.9.0">
|
|
2 <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
|
3 <node CREATED="1393414714263" ID="ID_1213398300" MODIFIED="1393414723681" TEXT="CbC on LLVM">
|
|
4 <node CREATED="1393414727190" ID="ID_14805230" MODIFIED="1393414735224" POSITION="right" TEXT="Objective">
|
|
5 <node CREATED="1393414737791" ID="ID_1232034940" MODIFIED="1393414740764" TEXT="CbC">
|
|
6 <node CREATED="1393414742576" ID="ID_1355657283" MODIFIED="1393414750877" TEXT="code segment">
|
|
7 <node CREATED="1393414754993" ID="ID_961896831" MODIFIED="1393414758878" TEXT="__code"/>
|
|
8 </node>
|
|
9 <node CREATED="1393414764666" ID="ID_298964714" MODIFIED="1393414778848" TEXT="transition">
|
|
10 <node CREATED="1393414779916" ID="ID_1506049451" MODIFIED="1393414781703" TEXT="goto"/>
|
|
11 </node>
|
|
12 <node CREATED="1393414787748" ID="ID_261533085" MODIFIED="1393414799130" TEXT="goto with env">
|
|
13 <node CREATED="1393414800806" ID="ID_450340511" MODIFIED="1393414807315" TEXT="return to C"/>
|
|
14 </node>
|
|
15 </node>
|
|
16 <node CREATED="1393414821640" ID="ID_1346806042" MODIFIED="1393414829757" TEXT="Usage">
|
|
17 <node CREATED="1393414831976" ID="ID_1482491772" MODIFIED="1393414842247" TEXT="state machine"/>
|
|
18 <node CREATED="1393414843426" ID="ID_1728375841" MODIFIED="1393414852432" TEXT="pararell tasks">
|
|
19 <node CREATED="1393414856276" ID="ID_1454022728" MODIFIED="1393414865481" TEXT="OpenCL"/>
|
|
20 <node CREATED="1393414866627" ID="ID_1359059676" MODIFIED="1393414868481" TEXT="CUDA"/>
|
|
21 <node CREATED="1393414868708" ID="ID_878995470" MODIFIED="1393414878242" TEXT="Cerium"/>
|
|
22 <node CREATED="1393414952261" ID="ID_1604188406" MODIFIED="1393414956640" TEXT="FPGA"/>
|
|
23 </node>
|
|
24 <node CREATED="1393414891031" ID="ID_213882270" MODIFIED="1393414894788" TEXT="meta computation"/>
|
|
25 <node CREATED="1393414931419" ID="ID_966590020" MODIFIED="1393414934880" TEXT="motivation">
|
|
26 <node CREATED="1393414935523" ID="ID_1421761038" MODIFIED="1393414945209" TEXT="programming language for machine"/>
|
|
27 </node>
|
|
28 </node>
|
|
29 <node CREATED="1393414968247" ID="ID_496022495" MODIFIED="1393414976300" TEXT="Implementation">
|
|
30 <node CREATED="1393414977096" ID="ID_1820566282" MODIFIED="1393414993451" TEXT="Micro-C">
|
|
31 <node CREATED="1393414994914" ID="ID_1885530134" MODIFIED="1393415003568" TEXT="one pass standalone compiler"/>
|
|
32 </node>
|
|
33 <node CREATED="1393415006802" ID="ID_808167516" MODIFIED="1393415008399" TEXT="GCC"/>
|
|
34 <node CREATED="1393415015692" ID="ID_143960010" MODIFIED="1393415017216" TEXT="LLVM">
|
|
35 <node CREATED="1393415019436" ID="ID_1061941500" MODIFIED="1393415023185" TEXT="new!!"/>
|
|
36 </node>
|
|
37 </node>
|
|
38 </node>
|
|
39 <node CREATED="1393415033662" ID="ID_192216161" MODIFIED="1393415037186" POSITION="right" TEXT="Why LLVM??">
|
|
40 <node CREATED="1393415039598" ID="ID_1151114982" MODIFIED="1393415058997" TEXT="compiler framework"/>
|
|
41 <node CREATED="1393415060968" ID="ID_1530122942" MODIFIED="1393415071478" TEXT="Apple supported">
|
|
42 <node CREATED="1393415077490" ID="ID_568545640" MODIFIED="1393415080567" TEXT="Open source"/>
|
|
43 <node CREATED="1393415224217" ID="ID_1882803708" MODIFIED="1393415230393" TEXT="OS X default compiler"/>
|
|
44 </node>
|
|
45 <node CREATED="1393415087594" ID="ID_961898794" MODIFIED="1393415093328" TEXT="C++ base"/>
|
|
46 <node CREATED="1393415095596" ID="ID_797989903" MODIFIED="1393415115930" TEXT="AST generation"/>
|
|
47 <node CREATED="1393415120087" ID="ID_447546050" MODIFIED="1393415128259" TEXT="IR">
|
|
48 <node CREATED="1393415128663" ID="ID_859120469" MODIFIED="1393415134845" TEXT="intermidiate representation"/>
|
|
49 </node>
|
|
50 <node CREATED="1393415157589" ID="ID_1735201871" MODIFIED="1393415159047" TEXT="JIT">
|
|
51 <node CREATED="1393415168027" ID="ID_1054564779" MODIFIED="1393415174976" TEXT="dynamic execution"/>
|
|
52 <node CREATED="1393415182325" ID="ID_1413503218" MODIFIED="1393415192090" TEXT="dynamic compile"/>
|
|
53 </node>
|
|
54 </node>
|
|
55 <node CREATED="1393416184003" ID="ID_751208109" MODIFIED="1393416187690" POSITION="right" TEXT="Result">
|
|
56 <node CREATED="1393416189596" ID="ID_730724525" MODIFIED="1393416207660" TEXT="jmp instruction in assembler source"/>
|
|
57 <node CREATED="1393416209206" ID="ID_605815160" MODIFIED="1393416226606" TEXT="compare with Micro-C"/>
|
|
58 <node CREATED="1393416231104" ID="ID_1167903672" MODIFIED="1393416235071" TEXT="compare with GCC"/>
|
|
59 <node CREATED="1393416242714" ID="ID_1125630850" MODIFIED="1393416245584" TEXT="noinline"/>
|
|
60 </node>
|
|
61 <node CREATED="1393416262436" ID="ID_436437526" MODIFIED="1393416264722" POSITION="right" TEXT="Future">
|
|
62 <node CREATED="1393416265692" ID="ID_1735890348" MODIFIED="1393416273739" TEXT="data segment interface">
|
|
63 <node CREATED="1393416335235" ID="ID_65747622" MODIFIED="1393416346481" TEXT="dual of code segment"/>
|
|
64 <node CREATED="1393416347108" ID="ID_587695512" MODIFIED="1393416366853" TEXT="message pack"/>
|
|
65 <node CREATED="1393416373279" ID="ID_1165407918" MODIFIED="1393416378126" TEXT="database"/>
|
|
66 <node CREATED="1393416390281" ID="ID_510012071" MODIFIED="1393416401761" TEXT="temporal data segment"/>
|
|
67 <node CREATED="1393416403210" ID="ID_177251882" MODIFIED="1393416412682" TEXT="persystent data segment"/>
|
|
68 <node CREATED="1393416415243" ID="ID_1927791213" MODIFIED="1393416421747" TEXT="data flow computation"/>
|
|
69 <node CREATED="1393416475802" ID="ID_327591894" MODIFIED="1393416481573" TEXT="basically C struct"/>
|
|
70 </node>
|
|
71 <node CREATED="1393416276341" ID="ID_1309191143" MODIFIED="1393416279244" TEXT="meta computation">
|
|
72 <node CREATED="1393416533663" ID="ID_1718282513" MODIFIED="1393416545111" TEXT="scheduling "/>
|
|
73 <node CREATED="1393416549168" ID="ID_1255269527" MODIFIED="1393416560833" TEXT="synchronization"/>
|
|
74 <node CREATED="1393416561570" ID="ID_1063966372" MODIFIED="1393416570210" TEXT="memory protection"/>
|
|
75 </node>
|
|
76 <node CREATED="1393416283654" ID="ID_1030617841" MODIFIED="1393416297406" TEXT="dynamic rewriting of a jmp"/>
|
|
77 <node CREATED="1393416318057" ID="ID_767598812" MODIFIED="1393416327753" TEXT="generating specialized code">
|
|
78 <node CREATED="1393416651603" ID="ID_1936872917" MODIFIED="1393416654531" TEXT="by LLVM"/>
|
|
79 </node>
|
|
80 </node>
|
|
81 <node CREATED="1393415877748" ID="ID_685840456" MODIFIED="1393415885130" POSITION="left" TEXT="structure of LLVM">
|
|
82 <node CREATED="1393415891566" ID="ID_1814549443" MODIFIED="1393415895675" TEXT="clang">
|
|
83 <node CREATED="1393415896022" ID="ID_1656713154" MODIFIED="1393415897764" TEXT="parser"/>
|
|
84 <node CREATED="1393415898366" ID="ID_735510121" MODIFIED="1393415902076" TEXT="codegen"/>
|
|
85 </node>
|
|
86 <node CREATED="1393415905895" ID="ID_780486647" MODIFIED="1393415907605" TEXT="LLVM">
|
|
87 <node CREATED="1393415908934" ID="ID_1907594054" MODIFIED="1393415925823" TEXT="Selection instruction "/>
|
|
88 <node CREATED="1393415929097" ID="ID_506022965" MODIFIED="1393415936040" TEXT="optimizier">
|
|
89 <node CREATED="1393415957772" ID="ID_221461015" MODIFIED="1393415964611" TEXT="passes">
|
|
90 <node CREATED="1393415975438" ID="ID_743646492" MODIFIED="1393415980004" TEXT="CodeGenPrepare"/>
|
|
91 <node CREATED="1393415964845" ID="ID_1419726726" MODIFIED="1393415968707" TEXT="TailCallElim"/>
|
|
92 </node>
|
|
93 </node>
|
|
94 <node CREATED="1393415936994" ID="ID_1189383645" MODIFIED="1393415943184" TEXT="Code generator"/>
|
|
95 </node>
|
|
96 </node>
|
|
97 <node CREATED="1393415255084" ID="ID_1255273744" MODIFIED="1393415345099" POSITION="left" TEXT="Implementation">
|
|
98 <node CREATED="1393415462537" ID="ID_1012460054" MODIFIED="1393415470448" TEXT="basic strategy">
|
|
99 <node CREATED="1393415472602" ID="ID_484481910" MODIFIED="1393415482097" TEXT="code segment as normal function"/>
|
|
100 <node CREATED="1393415485468" ID="ID_1042900495" MODIFIED="1393415504659" TEXT="transition as forced tail call"/>
|
|
101 <node CREATED="1393415518303" ID="ID_1865357667" MODIFIED="1393415530070" TEXT="nomodification on intermidiate code">
|
|
102 <node CREATED="1393415532177" ID="ID_1877009195" MODIFIED="1393415546209" TEXT="do not modify optimizer part"/>
|
|
103 </node>
|
|
104 <node CREATED="1393415567244" ID="ID_512214482" MODIFIED="1393415592237" TEXT="goto with env as longjmp">
|
|
105 <node CREATED="1393415598752" ID="ID_1050206315" MODIFIED="1393415607144" TEXT="GCC uses nested function"/>
|
|
106 <node CREATED="1393415613281" ID="ID_1663927810" MODIFIED="1393415620857" TEXT="LLVM has no nested function"/>
|
|
107 </node>
|
|
108 </node>
|
|
109 <node CREATED="1393415347894" ID="ID_28770432" MODIFIED="1393415350451" TEXT="parser">
|
|
110 <node CREATED="1393415266645" ID="ID_951993899" MODIFIED="1393415283396" TEXT="code segment">
|
|
111 <node CREATED="1393415284799" ID="ID_764459625" MODIFIED="1393415298631" TEXT="__code return type">
|
|
112 <node CREATED="1393415302801" ID="ID_236035508" MODIFIED="1393415304446" TEXT="void"/>
|
|
113 </node>
|
|
114 </node>
|
|
115 <node CREATED="1393415312026" ID="ID_1621189741" MODIFIED="1393415315007" TEXT="transition">
|
|
116 <node CREATED="1393415315450" ID="ID_736316481" MODIFIED="1393415320935" TEXT="goto statement">
|
|
117 <node CREATED="1393415322459" ID="ID_175709429" MODIFIED="1393415332993" TEXT="tail call"/>
|
|
118 </node>
|
|
119 </node>
|
|
120 </node>
|
|
121 <node CREATED="1393415368224" ID="ID_517402653" MODIFIED="1393415371502" TEXT="LLVM IR">
|
|
122 <node CREATED="1393415373512" ID="ID_693847326" MODIFIED="1393415376430" TEXT="no modification"/>
|
|
123 <node CREATED="1393415388666" ID="ID_1311715893" MODIFIED="1393415391368" TEXT="no longjmp"/>
|
|
124 <node CREATED="1393415413716" ID="ID_1613264825" MODIFIED="1393415417306" TEXT="call flag">
|
|
125 <node CREATED="1393415421541" ID="ID_1608008781" MODIFIED="1393415431244" TEXT="tail fastcc"/>
|
|
126 </node>
|
|
127 </node>
|
|
128 <node CREATED="1393415627042" ID="ID_1257476113" MODIFIED="1393415632184" TEXT="code generator">
|
|
129 <node CREATED="1393415637962" ID="ID_612555038" MODIFIED="1393415652834" TEXT="keep tail call elimination">
|
|
130 <node CREATED="1393415656725" ID="ID_1961345681" MODIFIED="1393415846167" TEXT="enable to tailcallopt LangOption"/>
|
|
131 <node CREATED="1393415679712" ID="ID_784535884" MODIFIED="1393415787328" TEXT="return statement immediatly follows call"/>
|
|
132 <node CREATED="1393415692481" ID="ID_1629653521" MODIFIED="1393415708511" TEXT="calling convenstion">
|
|
133 <node CREATED="1393415762376" ID="ID_1065699593" MODIFIED="1393415764534" TEXT="fastcc"/>
|
|
134 </node>
|
|
135 <node CREATED="1393415849865" ID="ID_931200842" MODIFIED="1393415866881" TEXT="enable to TailCallElim pass"/>
|
|
136 </node>
|
|
137 <node CREATED="1393415992520" ID="ID_1711082448" MODIFIED="1393415998718" TEXT="goto with env">
|
|
138 <node CREATED="1393415999016" ID="ID_1012787705" MODIFIED="1393416024713" TEXT="include setjmp.h always"/>
|
|
139 <node CREATED="1393416029172" ID="ID_1895175823" MODIFIED="1393416048388" TEXT="allocate jmp_buf">
|
|
140 <node CREATED="1393416101011" ID="ID_1966590300" MODIFIED="1393416119091" TEXT="generate C struct"/>
|
|
141 </node>
|
|
142 <node CREATED="1393416055534" ID="ID_1096279693" MODIFIED="1393416059181" TEXT="insert setjmp"/>
|
|
143 <node CREATED="1393416061799" ID="ID_178743765" MODIFIED="1393416073113" TEXT="generate longjmp code segment as return">
|
|
144 <node CREATED="1393416123989" ID="ID_1856531908" MODIFIED="1393416131780" TEXT="generate unique name"/>
|
|
145 </node>
|
|
146 </node>
|
|
147 </node>
|
|
148 </node>
|
|
149 <node CREATED="1393416671758" ID="ID_1340653074" MODIFIED="1393416673157" POSITION="left" TEXT="slides">
|
|
150 <node CREATED="1393416863961" ID="ID_1693901399" MODIFIED="1393417814969" TEXT="introduce of CbC">
|
|
151 <node CREATED="1393414737791" ID="ID_380706666" MODIFIED="1393417084781" TEXT="CbC">
|
|
152 <node CREATED="1393414742576" ID="ID_1643290496" MODIFIED="1393414750877" TEXT="code segment">
|
|
153 <node CREATED="1393414754993" ID="ID_230114117" MODIFIED="1393414758878" TEXT="__code"/>
|
|
154 </node>
|
|
155 <node CREATED="1393414764666" ID="ID_1197065414" MODIFIED="1393414778848" TEXT="transition">
|
|
156 <node CREATED="1393414779916" ID="ID_787914818" MODIFIED="1393414781703" TEXT="goto"/>
|
|
157 </node>
|
|
158 <node CREATED="1393414787748" ID="ID_1204285148" MODIFIED="1393414799130" TEXT="goto with env">
|
|
159 <node CREATED="1393414800806" ID="ID_1222521953" MODIFIED="1393414807315" TEXT="return to C"/>
|
|
160 </node>
|
|
161 </node>
|
|
162 </node>
|
|
163 <node CREATED="1393416872594" ID="ID_1330893602" MODIFIED="1393417955193" TEXT="What is CbC">
|
|
164 <node CREATED="1393414821640" ID="ID_396781801" MODIFIED="1393414829757" TEXT="Usage">
|
|
165 <node CREATED="1393414831976" ID="ID_456207902" MODIFIED="1393414842247" TEXT="state machine"/>
|
|
166 <node CREATED="1393414843426" ID="ID_102862002" MODIFIED="1393417089181" TEXT="pararell tasks">
|
|
167 <node CREATED="1393414856276" ID="ID_623095686" MODIFIED="1393414865481" TEXT="OpenCL"/>
|
|
168 <node CREATED="1393414866627" ID="ID_8008785" MODIFIED="1393414868481" TEXT="CUDA"/>
|
|
169 <node CREATED="1393414868708" ID="ID_162594865" MODIFIED="1393414878242" TEXT="Cerium"/>
|
|
170 <node CREATED="1393414952261" ID="ID_142993477" MODIFIED="1393414956640" TEXT="FPGA"/>
|
|
171 </node>
|
|
172 <node CREATED="1393414891031" ID="ID_525611210" MODIFIED="1393414894788" TEXT="meta computation"/>
|
|
173 <node CREATED="1393414931419" ID="ID_488599855" MODIFIED="1393414934880" TEXT="motivation">
|
|
174 <node CREATED="1393414935523" ID="ID_1783768164" MODIFIED="1393414945209" TEXT="programming language for machine"/>
|
|
175 </node>
|
|
176 </node>
|
|
177 </node>
|
|
178 <node CREATED="1393416884379" FOLDED="true" ID="ID_1172740034" MODIFIED="1393417119029" TEXT="CbC compiler">
|
|
179 <node CREATED="1393414968247" ID="ID_1953752240" MODIFIED="1393414976300" TEXT="Implementation">
|
|
180 <node CREATED="1393414977096" ID="ID_697073293" MODIFIED="1393414993451" TEXT="Micro-C">
|
|
181 <node CREATED="1393414994914" ID="ID_1531301148" MODIFIED="1393415003568" TEXT="one pass standalone compiler"/>
|
|
182 </node>
|
|
183 <node CREATED="1393415006802" ID="ID_1773649193" MODIFIED="1393415008399" TEXT="GCC"/>
|
|
184 <node CREATED="1393415015692" ID="ID_371860294" MODIFIED="1393415017216" TEXT="LLVM">
|
|
185 <node CREATED="1393415019436" ID="ID_260478404" MODIFIED="1393415023185" TEXT="new!!"/>
|
|
186 </node>
|
|
187 </node>
|
|
188 </node>
|
|
189 <node CREATED="1393415033662" ID="ID_357796199" MODIFIED="1393418616174" TEXT="Why LLVM??">
|
|
190 <node CREATED="1393415039598" ID="ID_664184138" MODIFIED="1393415058997" TEXT="compiler framework"/>
|
|
191 <node CREATED="1393415060968" ID="ID_339954698" MODIFIED="1393415071478" TEXT="Apple supported">
|
|
192 <node CREATED="1393415077490" ID="ID_146949057" MODIFIED="1393415080567" TEXT="Open source"/>
|
|
193 <node CREATED="1393415224217" ID="ID_23238840" MODIFIED="1393415230393" TEXT="OS X default compiler"/>
|
|
194 </node>
|
|
195 <node CREATED="1393415087594" ID="ID_524041551" MODIFIED="1393415093328" TEXT="C++ base"/>
|
|
196 <node CREATED="1393415095596" ID="ID_924041337" MODIFIED="1393415115930" TEXT="AST generation"/>
|
|
197 <node CREATED="1393415120087" ID="ID_849295848" MODIFIED="1393415128259" TEXT="IR">
|
|
198 <node CREATED="1393415128663" ID="ID_1777758663" MODIFIED="1393415134845" TEXT="intermidiate representation"/>
|
|
199 </node>
|
|
200 <node CREATED="1393415157589" ID="ID_872050716" MODIFIED="1393415159047" TEXT="JIT">
|
|
201 <node CREATED="1393415168027" ID="ID_1667235842" MODIFIED="1393415174976" TEXT="dynamic execution"/>
|
|
202 <node CREATED="1393415182325" ID="ID_1066032053" MODIFIED="1393415192090" TEXT="dynamic compile"/>
|
|
203 </node>
|
|
204 </node>
|
|
205 <node CREATED="1393415462537" ID="ID_1811363439" MODIFIED="1393415470448" TEXT="basic strategy">
|
|
206 <node CREATED="1393415472602" ID="ID_1476331781" MODIFIED="1393415482097" TEXT="code segment as normal function"/>
|
|
207 <node CREATED="1393415485468" ID="ID_887912777" MODIFIED="1393415504659" TEXT="transition as forced tail call"/>
|
|
208 <node CREATED="1393415518303" ID="ID_993692066" MODIFIED="1393415530070" TEXT="nomodification on intermidiate code">
|
|
209 <node CREATED="1393415532177" ID="ID_1380774714" MODIFIED="1393415546209" TEXT="do not modify optimizer part"/>
|
|
210 </node>
|
|
211 <node CREATED="1393415567244" ID="ID_1715799047" MODIFIED="1393415592237" TEXT="goto with env as longjmp">
|
|
212 <node CREATED="1393415598752" ID="ID_815289397" MODIFIED="1393415607144" TEXT="GCC uses nested function"/>
|
|
213 <node CREATED="1393415613281" ID="ID_524371399" MODIFIED="1393415620857" TEXT="LLVM has no nested function"/>
|
|
214 </node>
|
|
215 </node>
|
|
216 <node CREATED="1393417146814" ID="ID_1237395406" MODIFIED="1393417160207" TEXT="Problems">
|
|
217 <node CREATED="1393417160640" ID="ID_471304556" MODIFIED="1393417166056" TEXT="LLVM IR">
|
|
218 <node CREATED="1393417166464" ID="ID_988821722" MODIFIED="1393417169304" TEXT="no longjmp"/>
|
|
219 <node CREATED="1393417290317" ID="ID_1546790643" MODIFIED="1393417370845" TEXT="LLVM IR sample">
|
|
220 <node CREATED="1393417371773" ID="ID_220201847" MODIFIED="1393417434364" TEXT="call flag">
|
|
221 <node CREATED="1393417434724" ID="ID_754626436" MODIFIED="1393417437636" TEXT="tail fastcc"/>
|
|
222 </node>
|
|
223 </node>
|
|
224 <node CREATED="1393417606957" ID="ID_1806319122" MODIFIED="1393417666933" TEXT="You should study English two hours every day">
|
|
225 <icon BUILTIN="ksmiletris"/>
|
|
226 </node>
|
|
227 </node>
|
|
228 <node CREATED="1393419565109" ID="ID_688956990" MODIFIED="1393419814971" TEXT="code segment jump is "/>
|
|
229 <node CREATED="1393419586320" ID="ID_559131768" MODIFIED="1393419683068" TEXT="LLVM IR can't express jump to function"/>
|
|
230 </node>
|
|
231 <node CREATED="1393417519436" ID="ID_881884451" MODIFIED="1393417522941" TEXT="Implementation">
|
|
232 <node CREATED="1393415347894" ID="ID_981559264" MODIFIED="1393420940104" TEXT="parser">
|
|
233 <node CREATED="1393415266645" ID="ID_1682610717" MODIFIED="1393415283396" TEXT="code segment">
|
|
234 <node CREATED="1393415284799" ID="ID_965880208" MODIFIED="1393415298631" TEXT="__code return type">
|
|
235 <node CREATED="1393415302801" ID="ID_460767008" MODIFIED="1393415304446" TEXT="void"/>
|
|
236 </node>
|
|
237 </node>
|
|
238 <node CREATED="1393415312026" ID="ID_1424951265" MODIFIED="1393415315007" TEXT="transition">
|
|
239 <node CREATED="1393415315450" ID="ID_1337913466" MODIFIED="1393415320935" TEXT="goto statement">
|
|
240 <node CREATED="1393415322459" ID="ID_3085529" MODIFIED="1393415332993" TEXT="tail call"/>
|
|
241 </node>
|
|
242 </node>
|
|
243 </node>
|
|
244 <node CREATED="1393415627042" ID="ID_741521429" MODIFIED="1393421338869" TEXT="code generator">
|
|
245 <node CREATED="1393415637962" ID="ID_1977344897" MODIFIED="1393415652834" TEXT="keep tail call elimination">
|
|
246 <node CREATED="1393415656725" ID="ID_1064982533" MODIFIED="1393415846167" TEXT="enable to tailcallopt LangOption"/>
|
|
247 <node CREATED="1393415679712" ID="ID_1236302074" MODIFIED="1393415787328" TEXT="return statement immediatly follows call"/>
|
|
248 <node CREATED="1393415692481" ID="ID_321900911" MODIFIED="1393415708511" TEXT="calling convenstion">
|
|
249 <node CREATED="1393415762376" ID="ID_188704360" MODIFIED="1393415764534" TEXT="fastcc"/>
|
|
250 </node>
|
|
251 <node CREATED="1393415849865" ID="ID_165554506" MODIFIED="1393415866881" TEXT="enable to TailCallElim pass"/>
|
|
252 </node>
|
|
253 <node CREATED="1393415992520" ID="ID_1662020634" MODIFIED="1393415998718" TEXT="goto with env">
|
|
254 <node CREATED="1393415999016" ID="ID_1021819186" MODIFIED="1393416024713" TEXT="include setjmp.h always"/>
|
|
255 <node CREATED="1393416029172" ID="ID_20885096" MODIFIED="1393416048388" TEXT="allocate jmp_buf">
|
|
256 <node CREATED="1393416101011" ID="ID_1442960034" MODIFIED="1393416119091" TEXT="generate C struct"/>
|
|
257 </node>
|
|
258 <node CREATED="1393416055534" ID="ID_1822902179" MODIFIED="1393416059181" TEXT="insert setjmp"/>
|
|
259 <node CREATED="1393416061799" ID="ID_1218489026" MODIFIED="1393416073113" TEXT="generate longjmp code segment as return">
|
|
260 <node CREATED="1393416123989" ID="ID_232453499" MODIFIED="1393416131780" TEXT="generate unique name"/>
|
|
261 </node>
|
|
262 </node>
|
|
263 </node>
|
|
264 <node CREATED="1393415877748" ID="ID_65529003" MODIFIED="1393421341108" TEXT="structure of LLVM">
|
|
265 <node CREATED="1393415891566" ID="ID_437797489" MODIFIED="1393415895675" TEXT="clang">
|
|
266 <node CREATED="1393415896022" ID="ID_565636299" MODIFIED="1393415897764" TEXT="parser"/>
|
|
267 <node CREATED="1393415898366" ID="ID_1706796038" MODIFIED="1393415902076" TEXT="codegen"/>
|
|
268 </node>
|
|
269 <node CREATED="1393415905895" ID="ID_55704278" MODIFIED="1393415907605" TEXT="LLVM">
|
|
270 <node CREATED="1393415908934" ID="ID_1807613827" MODIFIED="1393415925823" TEXT="Selection instruction "/>
|
|
271 <node CREATED="1393415929097" ID="ID_1153487463" MODIFIED="1393415936040" TEXT="optimizier">
|
|
272 <node CREATED="1393415957772" ID="ID_1315016882" MODIFIED="1393415964611" TEXT="passes">
|
|
273 <node CREATED="1393415975438" ID="ID_1183201430" MODIFIED="1393415980004" TEXT="CodeGenPrepare"/>
|
|
274 <node CREATED="1393415964845" ID="ID_1061645086" MODIFIED="1393415968707" TEXT="TailCallElim"/>
|
|
275 </node>
|
|
276 </node>
|
|
277 <node CREATED="1393415936994" ID="ID_380442434" MODIFIED="1393415943184" TEXT="Code generator"/>
|
|
278 </node>
|
|
279 </node>
|
|
280 </node>
|
|
281 <node CREATED="1393416184003" ID="ID_1836859823" MODIFIED="1393416187690" TEXT="Result">
|
|
282 <node CREATED="1393416189596" ID="ID_325187767" MODIFIED="1393416207660" TEXT="jmp instruction in assembler source"/>
|
|
283 <node CREATED="1393416209206" ID="ID_838681270" MODIFIED="1393416226606" TEXT="compare with Micro-C"/>
|
|
284 <node CREATED="1393416231104" ID="ID_1436390030" MODIFIED="1393416235071" TEXT="compare with GCC"/>
|
|
285 <node CREATED="1393416242714" ID="ID_1983472838" MODIFIED="1393416245584" TEXT="noinline"/>
|
|
286 </node>
|
|
287 </node>
|
|
288 </node>
|
|
289 </map>
|