annotate crdocs/CbC on LLVM.mm @ 107:a03ddd01be7e

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