<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Hi,<DIV><BR class="khtml-block-placeholder"></DIV><DIV>I know nothing about MIPs so I only do some nitpicking. Please fix them and then re-submit:</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>1. isMoveInstr(): </DIV><DIV>  //  addiu $n, $n, 0</DIV><DIV>  if (MI.getOpcode() == Mips::ADDiu)</DIV><DIV>  {</DIV><DIV>    if ((MI.getOperand(1).isRegister()) && </DIV><DIV>      (isZeroImm(MI.getOperand(2)))) {</DIV><DIV>      DstReg = MI.getOperand(0).getReg();</DIV><DIV>      SrcReg = MI.getOperand(2).getReg();    <=== Is this right? Should it be getOperand(1)?</DIV><DIV>      return true;</DIV><DIV>    }</DIV><DIV>  }</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>2. isMoveInstrt(), isLoadFromStackSlot(), etc.: Please fix the indentation problems.</DIV><DIV>3. InsertBranch():  Please don't leave code that's commented out in,</DIV><DIV>4. MipsISelDAGToDAG.cpp. Please don't include header files that are not needed, e.g. MathExtras.h, SSARegMap.h</DIV><DIV>    Also</DIV><DIV>public:</DIV><DIV>  MipsDAGToDAGISel(MipsTargetMachine &tm) : </DIV><DIV>        SelectionDAGISel(MipsLowering),</DIV><DIV>        TM(tm), MipsLowering(*TM.getTargetLowering()) {}</DIV><DIV>        //,Subtarget(&TM.getSubtarget<MipsSubtarget>()) {}    <== Plz remove code that's commented out.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>5. MipsInstrInfo.td: Are branches marked isTerminator?</DIV><DIV>6. MipsInstrFormats.td: I know fields like rs, rt, shamt are not currently used. But it would be nice if there are some simple documentation.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Nice work! Thanks,</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Evan</DIV><DIV> </DIV><DIV><BR><DIV><DIV>On May 21, 2007, at 7:14 PM, bruno cardoso wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite">Hello,<BR><BR>With the files on attachment LLVM has now initial support for MIPS. =)<BR>The support is still simple and experimental.<BR>The status is: <BR><BR>x - Mips I instructions, without (coprocessor) float point support. <BR>x - Mips o32 ABI calling convention implemented.<BR>x -  .s files generated by LLC can be compiled with Mips GCC/GAS.<BR>x - Simple test programs are working on Linux in a Mips emulated QEMU machine.<BR>x - AsmPrinter does not yet generate all Mips GAS pseudo-instructions <BR>    (such as .cpload, .fmask, .mask)<BR><BR>I hope you enjoy! =)<BR>Cheers,<BR><BR>-- <BR>Bruno Cardoso Lopes<BR><A href="http://www.brunocardoso.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> http://www.brunocardoso.org</A><BR><BR>"The Man in Black fled across the desert and the gunslinger followed" <BR>  - Childe Roland to the Dark Tower Came<SPAN><DIV><Makefile></DIV></SPAN><SPAN><DIV><Mips.h></DIV></SPAN><SPAN><DIV><Mips.td></DIV></SPAN><SPAN><DIV><MipsCallingConv.td></DIV></SPAN><SPAN><DIV><MipsISelDAGToDAG.cpp></DIV></SPAN><SPAN><DIV><MipsISelLowering.cpp></DIV></SPAN><SPAN><DIV><MipsInstrFormats.td></DIV></SPAN><SPAN><DIV><MipsInstrInfo.cpp></DIV></SPAN><SPAN><DIV><MipsInstrInfo.h></DIV></SPAN><SPAN><DIV><MipsInstrInfo.td></DIV></SPAN><SPAN><DIV><MipsRegisterInfo.cpp></DIV></SPAN><SPAN><DIV><MipsRegisterInfo.h></DIV></SPAN><SPAN><DIV><MipsRegisterInfo.td></DIV></SPAN><SPAN><DIV><MipsSubtarget.cpp></DIV></SPAN><SPAN><DIV><MipsSubtarget.h></DIV></SPAN><SPAN><DIV><MipsTargetAsmInfo.cpp></DIV></SPAN><SPAN><DIV><MipsTargetAsmInfo.h></DIV></SPAN><SPAN><DIV><MipsTargetMachine.cpp></DIV></SPAN><SPAN><DIV><MipsAsmPrinter.cpp></DIV></SPAN><SPAN><DIV><MipsISelLowering.h></DIV></SPAN><SPAN><DIV><MipsTargetMachine.h></DIV></SPAN><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">llvm-commits mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</A></DIV> </BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>