clang -emit-llvm -S test.c ; Function Attrs: noinline nounwind optnone uwtable define dso_local i32 @func(i32 %0) #0 { %2 = alloca i32, align 4 store i32 %0, i32* %2, align 4 %3 = load i32, i32* %2, align 4 %4 = add nsw i32 %3, 1 store i32 %4, i32* %2, align 4 ret i32 %4 } clangの気持ちの調べ方 LLVM中間コードを吐く 中間コードを 読み解く