ひでみのアイデア帳

くだらないことなんだけど、忘れないために・・・

LLVM-IRを読み違えたらしい

Identifiersの項に「Unnamed values are represented as an unsigned numeric value with their prefix. 」という記述がある。

「持つ符号なしの数値」と読めるわけだが・・・

算術系命令の項を読むと「Because LLVM integers use a two’s complement representation, this instruction is appropriate for both signed and unsigned integers.」と、LLVMの整数は2の補数と読める。

結局、どっちなんだ?

加減算も乗算もオーバーフローしなければ、2の補数であってもなくても問題ないんだけど・・・

除算は絶対値で演算しなきゃいけないよなぁ・・・ LLVMにはudivとsdivがあるのか・・・

あれ? なんか間違えてる?