[LLVMdev] Volunteers needed: Unit test scaffolding for lib/CodeGen

reed kotler rkotler at mips.com
Tue Jul 10 19:07:50 PDT 2012


On 06/11/2012 08:25 AM, Jakob Stoklund Olesen wrote:
> We don't currently have a way of writing unit tests for code in lib/CodeGen, and we do have some code that could benefit from having tests. (See r158310).
>
> The problem is that you can't just create a MachineFunction test instance and start poking at it. You need to give it a target first, and certain helper classes like MachineRegisterInfo are also expected to be present.
>
> I am looking for a volunteer to build the scaffolding required in unittests/CodeGen to make it possible to write unit tests for MachineFunction and associated classes. You would need to:
>
> - Set up a unittests/CodeGen target that links in libCodeGen.
>
> - Create a mock target with minimal functionality, preferably without depending on TableGen.
>
> - Provide an easy way for individual tests to get a MachineFunction instance with the required decorations.
>
> This would be a good way to learn about target and codegen configuration.
>
> /jakob
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
I'm really interested to work on this but cannot start at the moment.
I need to finish the mips16 port first. Maybe in a month and a half I 
will have the time.

It's really dangerous to do optimizations without this kind of tool; no 
way to write decent test cases.

People that have worked on compilers for ages will tell you how peephole 
and other target specific optimization constantly yields bugs of the 
nature "this could never have worked", years after the optimization was 
added and supposedly tested.



More information about the llvm-dev mailing list