今年も LLVM 読みます。11/9 の 14:40 からと、11/10 一日。UST するかどうかは気分次第です。
目標的には、LLVM の Tail call elimination を調べるのと、関数 attribute の扱いだな。
いや、あのポインタタグと格闘すると思うと気が重い…
* Type safe にして、最適化はコンパイラに任せろ
というのを LLVM 自体が守らないってどうなのよ。でも、このポインタタグを治すのは、もう無理なんだろうな。
いや、そもそも使いたいんだったら、
* C++ にポインタタグを built-in
にしたらどうだろう? 実際、
(1) null pointer (未初期化)
(1) 未代入な領域へのポインタ
(2) 普通の pointer
(3) 整数値 ( or ラベル)
とか、区別したいことはあるし。
授業中に、LLVM internal representation を吐く部分とか、intel64 なレジスタを使ったコード生成とか書いたが、実際に動かすところまではやらず… また、来年かな〜
たまに、授業中にコード見て「あれ? 既に書いてあるな」とか「これ、動かしてないな」とか思うことがある。ちょっと前なら憶えちゃいるが、1年前だとちとわからないな〜
No comments:
Post a Comment