数学とプログラミングとくだらないこと

プログラミングの事とか数学のこととかを書いていきます。

llvm3.2にて(追記あり)

もしかして、LLVM IRのBasicBlockが空行区切りで分割されてしまう?

なんかClangで-emit-llvmを指定して出力すると、ラベルが入るところに空行が入っていて、 予想だけれども、brに指定された変数は、自動的に次のBasicBlockのラベルになるのではないだろうか?

追記

予想2:LLVM IRでは、

  1. 無名の変数には、%か@の後に符号なし整数が続く名前が自動的に与えられる
  2. LLVM IRでは、ラベルも変数
  3. この例で、ラベルはBasic blockが作られる?時に名前が与えられる用に見える

→無名のラベルは、定義順?に連番で作られてるだけでは?