working on llvm-ir generation macro