§ 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,およびコード生成属性を指定する. modelはsmall, 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がコマンドラインに指定された 場合,全ての追加引数が指定された順にコマンドに渡される.