If possible, I would like to contribute to LLVM. First of all, I would
like to say that I'm a newbie in LLVM, and my experience in compilers
implementation is only in simples and academics "toy projects".
My main interesting are focused in try to improve the code generated
by LLVM, where "improve" I mean "better performance". I'm interested,
for example, in machine-independent optimizations but, reading more
about LLVM, it's seems to be complete.
If possible, I would like some suggestions about current possibilities
and, more that, "additional reading" and a "current status" if someone
are currently working in this.
Looking at http://llvm.org/OpenProjects.html, one point seems interesting:
"Miscellaneous Improvements. Move more optimizations out of the
-instcombine pass and into InstructionSimplify. The optimizations that
should be moved are those that do not create new instructions, for
example turning sub i32 %x, 0 into %x. Many passes use
InstructionSimplify to clean up code as they go, so making it smarter
can result in improvements all over the place.".
For a newbie, what is the complexity of this task? Someone would
suggest other tasks?
Thanks in advance for your attention.