Emitting parser.o (the object file for parser.jou) takes about 1 minute, which is surprising because parser.jou isn't that complicated and the corresponding C code compiles in less than a second.
I think the reason is that the optimized LLVM IR looks very repetitive. It seems to initialize and copy large structs with one instruction for each struct element instead of using a memcpy.
Emitting
parser.o
(the object file forparser.jou
) takes about 1 minute, which is surprising becauseparser.jou
isn't that complicated and the corresponding C code compiles in less than a second.I think the reason is that the optimized LLVM IR looks very repetitive. It seems to initialize and copy large structs with one instruction for each struct element instead of using a
memcpy
.