Mercurial > hg > Papers > 2014 > kaito_thesis
view final_main/main.aux @ 0:ce014a8b669e draft default tip
wrote final thesis
author | kaito |
---|---|
date | Mon, 21 Apr 2014 21:42:23 +0900 |
parents | |
children |
line wrap: on
line source
\relax \citation{gcc46} \citation{FreeBSD} \@writefile{toc}{\contentsline {chapter}{\numberline {第1章}背景と目的}{1}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chap:introduction}{{1}{1}} \@writefile{toc}{\contentsline {chapter}{\numberline {第2章}Continuation based C (CbC)}{2}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:CbC}{{2}{2}} \@writefile{toc}{\contentsline {section}{\numberline {2.1}CbCとは}{2}} \@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces goto による code segment 間の継続}}{2}} \newlabel{fig:cs}{{2.1}{2}} \@writefile{toc}{\contentsline {section}{\numberline {2.2}code segment}{2}} \@writefile{toc}{\contentsline {section}{\numberline {2.3}コード例}{3}} \newlabel{factorial}{{2.1}{3}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {2.1}\relax \fontsize {10}{12}\selectfont \abovedisplayskip 10\p@ plus2\p@ minus5\p@ \abovedisplayshortskip \z@ plus3\p@ \belowdisplayshortskip 6\p@ plus3\p@ minus3\p@ \def \leftmargin \leftmargini \parsep 5\p@ plus2.5\p@ minus\p@ \topsep 10\p@ plus4\p@ minus6\p@ \itemsep 5\p@ plus2.5\p@ minus\p@ {\leftmargin \leftmargini \topsep 6\p@ plus2\p@ minus2\p@ \parsep 3\p@ plus2\p@ minus\p@ \itemsep \parsep }\belowdisplayskip \abovedisplayskip 階乗を求める CbC プログラムの例}{3}} \@writefile{toc}{\contentsline {section}{\numberline {2.4}環境付き継続}{3}} \newlabel{sec:withEnv}{{2.4}{3}} \newlabel{gotoWithTheEnv}{{2.2}{4}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {2.2}環境付き継続}{4}} \@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces 環境付き継続}}{4}} \newlabel{fig:gotoWithTheEnv}{{2.2}{4}} \@writefile{toc}{\contentsline {chapter}{\numberline {第3章}LLVM/clang}{6}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{chapter:LLVM/clang}{{3}{6}} \@writefile{toc}{\contentsline {section}{\numberline {3.1}LLVM/clang の概要}{6}} \@writefile{toc}{\contentsline {section}{\numberline {3.2}clang の基本構造}{6}} \citation{clang} \citation{clangAPI} \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces clang の 処理過程}}{7}} \newlabel{fig:clangProcess}{{3.1}{7}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Abstract Syntax Tree (AST)}{7}} \newlabel{ASTSampleCode}{{3.1}{8}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.1}sample.c}{8}} \newlabel{AST}{{3.2}{8}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.2}sample.c の AST}{8}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}QualType}{9}} \newlabel{sec:QualType}{{3.2.2}{9}} \@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces const int * に対応する QualType}}{9}} \newlabel{fig:qual}{{3.2}{9}} \citation{LLVM} \@writefile{toc}{\contentsline {section}{\numberline {3.3}LLVM の基本構造}{10}} \newlabel{sec:llvm}{{3.3}{10}} \citation{LLVMIR} \@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces LLVM の 処理過程}}{11}} \newlabel{fig:llvmProcess}{{3.3}{11}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}LLVM IR}{11}} \newlabel{IRtestC}{{3.3}{11}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.3}c での関数 test}{11}} \newlabel{IRtestIR}{{3.4}{12}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.4}LLVM IR での関数 test}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}SelectionDAG}{12}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Machine Code}{13}} \newlabel{MachineCodeSSA}{{3.5}{13}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.5}test関数の Machine Code (SSA)}{13}} \newlabel{MachineCodeNonSSA}{{3.6}{14}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.6}test関数の Machine Code (non-SSA)}{14}} \citation{LLVM} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.4}MC Layer}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.3.5}最適化機構}{15}} \@writefile{toc}{\contentsline {section}{\numberline {3.4}Tail call elimination}{15}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Tail call elimination 概要}{15}} \newlabel{tailCall}{{3.7}{16}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.7}Tail call の例}{16}} \@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces Tail call elimination}}{16}} \newlabel{fig:TCE}{{3.4}{16}} \newlabel{tailCall2}{{3.8}{16}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.8}caller, B, main 関数の定義}{16}} \citation{LLVM} \newlabel{asmCaller}{{3.9}{17}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.9}関数 caller (tail call elimination 無し)}{17}} \newlabel{asmCallerTCE}{{3.10}{17}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {3.10}関数 caller (tail call elimination 有り)}{17}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Tail call elimination の要件}{17}} \newlabel{sec:TCE}{{3.4.2}{17}} \@writefile{toc}{\contentsline {chapter}{\numberline {第4章}実装}{19}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{toc}{\contentsline {section}{\numberline {4.1}clang 側での \_\_code 型の追加とその構文解析}{19}} \newlabel{sec:add__code}{{4.1}{19}} \newlabel{token}{{4.1}{20}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.1}TokenKinds.def}{20}} \newlabel{TST}{{4.2}{20}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.2}Specifiers.h}{20}} \newlabel{clangType}{{4.3}{20}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.3}BuiltinTypes.def}{20}} \newlabel{parse__Code}{{4.4}{21}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.4}\_\_code の parse}{21}} \newlabel{langOpt}{{4.5}{21}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.5}LangOptions の追加}{21}} \@writefile{toc}{\contentsline {section}{\numberline {4.2}LLVM 側での \_\_code 型の追加}{21}} \newlabel{LLVMType}{{4.6}{22}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.6}LLVMContextImpl.h}{22}} \newlabel{LLVMType}{{4.7}{22}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.7}Type.h}{22}} \@writefile{toc}{\contentsline {section}{\numberline {4.3}継続のための goto syntax の構文解析}{22}} \newlabel{ParseStmt}{{4.8}{22}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.8}goto 文の構文解析}{22}} \newlabel{ParseCbCGotoStmt}{{4.9}{23}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.9}ParseCbCGotoStatement}{23}} \@writefile{toc}{\contentsline {section}{\numberline {4.4}Tail call elimination pass の条件の達成}{24}} \newlabel{sec:TCEreq}{{4.4}{24}} \newlabel{PassManager}{{4.10}{24}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.10}tail call elimnation pass の追加}{24}} \newlabel{CC}{{4.11}{26}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.11}fastcc の追加}{26}} \newlabel{option}{{4.12}{26}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.12}オプションの引き継ぎ}{26}} \@writefile{toc}{\contentsline {section}{\numberline {4.5}環境付き継続の実装}{27}} \@writefile{toc}{\contentsline {subsection}{\numberline {4.5.1}clang により追加されるコード}{27}} \newlabel{autoCodeGenB}{{4.13}{27}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.13}環境付き継続の例}{27}} \newlabel{autoCodeGenA}{{4.14}{27}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.14}内部での解釈}{27}} \@writefile{toc}{\contentsline {section}{\numberline {4.6}実装方法}{28}} \newlabel{IncludeHeader}{{4.15}{29}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.15}IncludeHeader 関数}{29}} \newlabel{return1}{{4.16}{30}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.16}CreateRetCS 関数}{30}} \newlabel{CbC_env}{{4.17}{31}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.17}Create\_\_CbC\_envStruct 関数}{31}} \newlabel{DeclStmt}{{4.18}{32}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.18}CreateDeclStmt 関数}{32}} \newlabel{assignment}{{4.19}{33}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4.19}CreateAssignmentStmt 関数}{33}} \@writefile{toc}{\contentsline {chapter}{\numberline {第5章}評価と考察}{34}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces Mac OS X での Micro-C, GCC, LLVM/clang の実行速度比較 (単位 : 秒)}}{34}} \newlabel{result}{{5.1}{34}} \@writefile{toc}{\contentsline {section}{\numberline {5.1}考察}{34}} \@writefile{toc}{\contentsline {chapter}{\numberline {第6章}今後の課題}{36}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \bibcite{gcc46}{1} \bibcite{FreeBSD}{2} \bibcite{clang}{3} \bibcite{clangAPI}{4} \bibcite{LLVM}{5} \bibcite{LLVMIR}{6} \@writefile{toc}{\contentsline {chapter}{\numberline {付 録A }conv1 のソースコード}{39}} \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \newlabel{conv1}{{A}{39}}