merge llvm_header generator into this project