Mercurial > hg > Members > kaito > slides
diff before_s6/2013/old/2013_07_02.html @ 5:ab2d529bb1d7
add slide
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 14 Oct 2014 19:17:35 +0900 |
parents | 2013/old/2013_07_02.html@845ff8ff4fc9 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/before_s6/2013/old/2013_07_02.html Tue Oct 14 19:17:35 2014 +0900 @@ -0,0 +1,86 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset='utf-8'> + + <script + src='./trunk/slides.js'></script> + </head> + + <body style='display: none'> + <section class='slides layout-regular template-default'> + + <article> + <h1>CbCコンパイラのLLVM3.4上での実装</h1> + <p><br>Kaito Tokumori<br>July 2, 2013</p> + </article> + + <article> + <br> + <h3> + 研究目的 + </h3> + <ul> + 書きなおす +<!-- + <li>当研究室で開発しているContinuation based C(CbC)を用いたtail call eliminationの強制。</li> + <li>tail call eliminationにより、Cにおける大きなオーバーヘッドである関数呼び出しの際のreturnの削減。</li> + <li>goto文による処理の記述は状態遷移系とも相性が良い。</li> + <li>Micro-C,GCC版に次ぐllvmを使用したコンパイラの実装。</li> +--> + </ul> + </article> + + <article> + <br> + <h3> + 今週の課題 + </h3> + <ul> + <li>goto code segmentの直後にreturnの挿入</li> + <li>拡張子でなく、__codeの有無で-O2の付与</li> + <li>goto cs()のときtail call eliminationが行われるよう条件を満たさせる</li> + </ul> + <br> + </article> + + <article> + <br> + <h3> + O2の付与 + </h3> + <ul> + <li>最適化のPassを通すか通さないかはCodeGenOpts.OptimizeLevelを見ている。</li> + <li>この他に、LangOptionsにもOptimizationがあり、こっちも1にしないといけない。</li> + <li>どちらもCompilerInvocation以外からはconst修飾子が付いた状態でしか参照できず値が書き換えられない。</li> + <li>適当なヘッダを作成してLangOptions等とは別に作成する。</li> + </ul> + <br> + </article> + + <article> + <br> + <h3> + returnの挿入 + </h3> + <ul> + <li>parseReturnStmtを真似て実装。(未)</li> + <li>csからcsに飛ぶ時だけ挿入するようにする。</li> + </ul> + <br> + </article> + + <article> + <br> + <h3> + 次したいこと + </h3> + <ul> + <li>ふたつの問題を解決する</li> + </ul> + <br> + </article> + + </section> + </body> +</html>