[LLVMbugs] [Bug 13257] New: problem with using dag in class instantation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Jul 2 20:06:09 PDT 2012


             Bug #: 13257
           Summary: problem with using dag in class instantation
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: TableGen
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: rkotler at mips.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following fragment from mips16 (not yet checked into main source).

The problem is that I should be able to pass parameters:
I.OutOperandList, I.InOperandList

But instead, I must back substitute what I know the values of these are.
(outs CPU16Regs:$rx), (ins CPU16Regs:$ry, CPU16Regs:$rz)

class FRRR16_ins<bits<2> _f, string asmstr, list<dag> pattern, InstrItinClass
itin> :                        
        FRRR16<_f, (outs CPU16Regs:$rz), (ins CPU16Regs:$rx, CPU16Regs:$ry), 
                  !strconcat(asmstr, "\t$rz, $rx, $ry"),
                   pattern, itin>;

class ArithLogicR16<FRRR16_ins I, SDNode OpNode, bit isComm = 0>:
  FRRR16<I.f, (outs CPU16Regs:$rx), (ins CPU16Regs:$ry, CPU16Regs:$rz), 
              // tablegen bug: should be I.OutOperandList, I.InOperandList,
     [(set CPU16Regs:$rx, (OpNode CPU16Regs:$ry, CPU16Regs:$rz))], I.Itinerary
> {
  let isCommutable = isComm;
  let isReMaterializable = 1;

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list