Mercurial > hg > Members > kaito > slides
view 2013/old/2013_05_07.html @ 0:845ff8ff4fc9
1st
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 14 Jan 2014 01:31:42 +0900 |
parents | |
children |
line wrap: on
line source
<!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コンパイラのGCC4.9.0上での実装</h1> <p><br>Kaito Tokumori<br>May 7, 2013</p> </article> <article> <br> <h3> 研究目的 </h3> <p> 当研究室ではcode segment単位で処理を記述するContinuation based C(以下CbC)というプログラミング言語を開発している。CbCはCからループ制御と関数コールを取り除いたもので、C言語よりも細かく、アセンブリより高級なプログラミングが可能である。 </p> <p> 当初CbCのコンパイルにはMicro-C版の独自のコンパイラを用いていたが、2008年の研究においてGCC-4.2ベースのCbCコンパイラが開発され、2010年にはGCC-4.4、2012年にはGCC-4.6へとアップデートが行われた。GCCへの実装によりGCCの最適化やデバッガの機能を使うことが出来より実用的なCbCプログラミングが行えるようになったが、GCCのアップデートに合わせてCbCのコンパイラも変更する必要がある。本研究では、既存のCbC-GCCをGCC-4.9.0へとアップデートし、CbCの拡張を行う。 </p> </article> <article> <br> <h3> 今週したこと </h3> <ul> <li>CbC-examplesが動作するかどうかの確認</li> <li>rectype,selftypeを取り除く</li> <li>出力されるアセンブラコードのチェック</li> </ul> <br> </article> <article> <br> <h3> CbC-examples </h3> <ul> <li>前回動作しなかった物 <ul> <li>quick_sort</li> <li>rectypeTest</li> </ul></li> </ul> <br> </article> <article> <br> <h3> CbC-examples </h3> <ul> <li>quick_sort <ul> <li>header生成スクリプトのバグ</li> <li>headerを編集したら動いた</li> </ul> </li> <li>rectypeTest <ul> <li>rectypeを一度取り除くことに</li> </ul> </li> </ul> <br> </article> <article> <br> <h3> arg.cについて </h3> <ul> <li>-O3オプションつけないとWarningがでる</li> <li>transition to code segment "carg3" with CbC goto, but tail call optimization was cut.</li> <li>-Sでアセンブラファイルを出力すると、-O3なしでは一部のコードセグメントがcallで呼ばれていた。</li> <li>-O3つけたらcallが消えたり。</li> <li>コードセグメント内部で生成した構造体を別のコードセグメントに渡すか渡さないか?</li> <li>単純にinline化されたからcallが消えただけ?</li> <li>mainからcode segmentに行くときはcallされる?</li> </ul> <br> </article> <!-- <article> <br> <h3> 次したいこと </h3> <ul> <li>うごくようにする。</li> </ul> <br> </article> --> </section> </body> </html>