annotate before_s6/2014/2014_02_18/2014_02_18.html @ 5:ab2d529bb1d7

add slide
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 14 Oct 2014 19:17:35 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 <!DOCTYPE html>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 <html>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 <head>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 <meta charset='utf-8'>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 <title>Presentation</title>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 <script src='./s6_trunk/slides.js'></script>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 <style media='screen,projection'>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 /****
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 * Add your styles here.
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 */
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 body { font-size: 175%; }
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 .step { color: silver; } /* or hide next steps e.g. .step { visibility: hidden; } */
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 .slide {
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 font-family: 'Open Sans', Arial, sans-serif;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 color: rgb(102, 102, 102);
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 text-shadow: 0 1px 1px rgba(0, 0, 0, .1);
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 }
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 .slide h1, .slide h2, .slide h3 {
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 color: rgb(51, 51, 51);
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 }
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 .slide pre {
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 font-family: 'Droid Sans Mono', 'Courier New', monospace;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 font-size: 80%;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 padding: 5px 10px;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 margin-top: 40px;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 margin-bottom: 40px;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 color: black;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 background: rgb(240, 240, 240);
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 border: 1px solid rgb(224, 224, 224);
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 box-shadow: inset 0 2px 6px rgba(0, 0, 0, .1);
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 overflow: hidden;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 }
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 .slide code {
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 font-family: 'Droid Sans Mono', 'Courier New', monospace;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 color: black;
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 </style>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 </head>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 <body>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 <section class='slides'>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 <!-- Add your slides here. Delete or comment out the slides below. -->
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 <article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 <h1>CbCコンパイラのLLVM3.5上での実装</h1>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 <p><br>Kaito Tokumori<br>February 18, 2014</p>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 </article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 <article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 <h3>研究目的</h3>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 <p> 当研究室ではプログラムをコードセグメント、データセグメントという単位を用いて書くという手法を提案している。その手法を用いてプログラミングを行う言語として"CbC"の開発を行っており、これはCの下位の言語である。CbCにおいてコードセグメント間の移動はgoto文を用いた軽量継続によって行われ、これはTail Call Eliminationという最適化の強制によって実現される。</p>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 <p>本研究過去に開発されたmicro-c,GCC版のコンパイラに続くLLVM/Clang上でのCbCコンパイラの開発を行う。</p>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 </article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
62
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 <article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 <h3>今回したこと</h3>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 <ul>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 <li>conv1.c が動くようにした. </li>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 </ul>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 </article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 <article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 <h3>conv1.c</h3>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 <ul>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 <li>関数ポインタ宣言時に引数を合わせてあげないといけない (fastcc の条件)</li>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 <li>引数を省略すると内部では variadic function となる.</li>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 <li>variadic function は普通の call に戻していたのでそれが tail が外れた原因.</li>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 <li>引数を合わせてあげて解決.</li>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 </ul>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 </article>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 </section>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 </body>
ab2d529bb1d7 add slide
Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 </html>