Skip to content
  1. May 25, 2012
  2. May 12, 2012
    • Akira Hatanaka's avatar
      Make the following changes in MipsAsmPrinter.cpp: · 8f357303
      Akira Hatanaka authored
      - Remove code which lowers pseudo SETGP01.
      - Fix LowerSETGP01. The first two of the three instructions that are emitted to
        initialize the global pointer register now use register $2.
      - Stop emitting .cpload directive.
      
      llvm-svn: 156689
      8f357303
  3. Mar 28, 2012
    • Akira Hatanaka's avatar
      Emit all directives except for ".cprestore" during asm printing rather than emit · 34ee3ff8
      Akira Hatanaka authored
      them as machine instructions. Directives ".set noat" and ".set at" are now
      emitted only at the beginning and end of a function except in the case where
      they are emitted to enclose .cpload with an immediate operand that doesn't fit
      in 16-bit field or unaligned load/stores.
      
      Also, make the following changes:
      - Remove function isUnalignedLoadStore and use a switch-case statement to
        determine whether an instruction is an unaligned load or store.
      
      - Define helper function CreateMCInst which generates an instance of an MCInst
        from an opcode and a list of operands.
      
      llvm-svn: 153552
      34ee3ff8
  4. Mar 17, 2012
  5. Feb 28, 2012
  6. Feb 24, 2012
    • Akira Hatanaka's avatar
      Add an option to use a virtual register as the global base register instead of · b049aef2
      Akira Hatanaka authored
      reserving a physical register ($gp or $28) for that purpose.
      
      This will completely eliminate loads that restore the value of $gp after every
      function call, if the register allocator assigns a callee-saved register, or
      eliminate unnecessary loads if it assigns a temporary register. 
      
      example:
      
      .cpload $25       // set $gp.
      ...
      .cprestore 16     // store $gp to stack slot 16($sp).
      ...
      jalr $25          // function call. clobbers $gp.
      lw $gp, 16($sp)   // not emitted if callee-saved reg is chosen.
      ...
      lw $2, 4($gp)
      ...
      jalr $25          // function call.
      lw $gp, 16($sp)   // not emitted if $gp is not live after this instruction.
      ...
      
      llvm-svn: 151402
      b049aef2
  7. Feb 17, 2012
  8. Feb 07, 2012
  9. Jan 19, 2012
  10. Dec 30, 2011
  11. Dec 19, 2011
  12. Dec 14, 2011
  13. Dec 13, 2011
  14. Dec 07, 2011
  15. Nov 23, 2011
  16. Nov 11, 2011
    • Bruno Cardoso Lopes's avatar
      Mips MC object code emission improvements: · c85e3ff3
      Bruno Cardoso Lopes authored
      "With this patch we can now generate runnable Mips code through LLVM
      direct object emission. We have run numerous simple programs, both C
      and C++ and with -O0 and -O3 from the output. The code is not production
      ready, but quite useful for experimentation." Patch and message by
      Jack Carter
      
      llvm-svn: 144414
      c85e3ff3
  17. Nov 08, 2011
  18. Sep 22, 2011
  19. Sep 09, 2011
  20. Aug 16, 2011
  21. Jul 08, 2011
  22. Jul 07, 2011
Loading