[LLVMdev] Question about TableGen when adding LLVM Backend.

Jakob Stoklund Olesen stoklund at 2pi.dk
Wed Mar 9 14:44:10 PST 2011


On Mar 9, 2011, at 2:13 PM, Lu Mitnick wrote:

> Hello all,
> 
> I have some question about usage of TableGen when adding a new LLVM Backend. There are three place to use TableGen in basic steps of document "Writing an LLVM Compiler   
> Backend":
> 
> 2. Describe the register set of the target. Use "TableGen" to generate code for register definition, register aliases, and register classes from a target-specific RegisterInfo.td input file. 
> 
> 3. Describe the instruction set of the target. Use "TableGen" to generate code for target-specific instructions from target-specific versions of TargetInstrFormats.td andTargetInstrInfo.td. 
> 
> 4. Describe the selection and conversion of the LLVM IR from a Directed Acyclic Graph (DAG) representation of instructions to native target-specific instructions. Use "TableGen" to generate code that matches patterns and selects instructions based on additional information in a target-specific version of TargetInstrInfo.td. 
> 
> I have already read the document "TableGen Fundamentals" and write correspond .td files in each steps. However I don't know which TableGen options should I use in 2, 3 or 4 steps as above. Would anyone mind to tell me??

Look at Makefile.rules in the LLVM top-level directory. There is a bunch of targets executing $(TableGen).

You can also run 'make VERBOSE=1' to see the commands used to build the existing targets.

/jakob





More information about the llvm-dev mailing list