Ch.21 SML#コンパイラの起動

§ 21.3. コンパイルオプション

以下のオプションはSML#コンパイラによるファイル検索 およびコード生成を制御する. 対話環境においても以下のオプションは有効である.

-Idir

.smiファイルの検索パスにディレクトリdirを追加する. 複数の-Iオプションがコマンドラインに指定されている場合, 指定された順番で各ディレクトリを検索する.

-nostdpath

.smiファイルの検索パスを-Iで指定したディレクトリのみ に限定する.

-O, -O0, -O1, -O2, -O3, -Os, -Oz

最適化レベルを指定する. -O-O2の別名である. -O0は全ての最適化を無効にする. -O1から-O3は数字が大きいほどより高度な最適化を有効にする. -Osおよび-Ozはコードサイズを小さくする最適化を有効にする. これらのオプションがコマンドラインに複数指定された場合は, 最後のひとつのみが有効となる.

--target=target, -mcmodel model, -march arch, -mcpu cpu, -mattr attrs

LLVMのコード生成器に対して指定するターゲット,コードモデル, アーキテクチャ,CPU,およびコード生成属性を指定する. modelsmall, medium, large, kernelの いずれかである. attrsには属性のリストをコンマ区切りで指定する. target, arch, cpu, attrsに対して有効な 指定はLLVMマニュアルあるいはLLVM付属のllcコマンドのヘルプを参照せよ.

-fpic, -fPIC, -fno-pic, -mdynamic-no-pic

コードの再配置モデルを指定する. -fpic-fPICの別名である. -fPICは再配置可能なコードを生成する. -fno-picは再配置しない(non-relocatableな)コードを生成する. -mdynamic-no-picは外部参照を再配置可能なコードを生成する. これらのオプションが指定されていないときは,システム依存のデフォル トの再配置モデルが選択される.

-Xllc arg, -Xopt arg

コード生成の際に実行されるLLVMのllcおよびoptコマンドに 渡す追加の引数を指定する. 複数の-Xllc-Xoptがコマンドラインに指定された 場合,全ての追加引数が指定された順にコマンドに渡される.