[LLVMdev] testing instruction selection

Jim Grosbach grosbach at apple.com
Fri Feb 22 11:48:25 PST 2013


I know Bill's put a fair bit of thought into serialization of the SelectionDAG and MachineInstr layers of the compiler. It's a significant challenge due the ordering requirements, but it's (obviously) not impossible and would have a very large amount of value.

-Jim

On Feb 22, 2013, at 8:29 AM, reed kotler <rkotler at mips.com> wrote:

> On 02/22/2013 07:51 AM, Sean Silva wrote:
>> Do you have any suggestions about how to address this?
>> 
>> -- Sean Silva
> Ideally we would define an ascii representation for DAGS.
> 
> It should be possible to start the compiler from the DAGS as opposed to LLVM assembler bitcode.
> 
> It should also be possible to compile a C file or LLVM assembler bitcode file and save off the DAGS ascii file.
> 
> Believe it or not, they had this over 30 years ago with the PQCC (Production Quality Compiler Compiler ) project at Carnegie Mellon.
> Intermetrics where I worked had a commercial version of this and later Tartan Laboratories.
> http://en.wikipedia.org/wiki/PQCC
> 
> Any phase of the compiler had an ascii representation that could be parsed into binary stuctures and then submitted to that phase and optionally propagated to later phases. You could also save off the state of any phase in ascii too.
> 
> So you could write test cases for optimizations and code generation that were reproducible and such.
> 
> In those days they used various YAML ancient precursors like LG and IDL.
> 
> We used to jokingly call the PQCC project PQTG (Product Quality Thesis Generator).
> 
> Reed
> 
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130222/2ca44be9/attachment.html>


More information about the llvm-dev mailing list