Skip to content
  1. May 11, 2013
    • Reed Kotler's avatar
      Checkin in of first of several patches to finish implementation of · 783c7944
      Reed Kotler authored
      mips16/mips32 floating point interoperability. 
      
      This patch fixes returns from mips16 functions so that if the function
      was in fact called by a mips32 hard float routine, then values
      that would have been returned in floating point registers are so returned.
      
      Mips16 mode has no floating point instructions so there is no way to
      load values into floating point registers.
      
      This is needed when returning float, double, single complex, double complex
      in the Mips ABI.
      
      Helper functions in libc for mips16 are available to do this.
      
      For efficiency purposes, these helper functions have a different calling
      convention from normal Mips calls.
      
      Registers v0,v1,a0,a1 are used to pass parameters instead of
      a0,a1,a2,a3.
      
      This is because v0,v1,a0,a1 are the natural registers used to return
      floating point values in soft float. These values can then be moved
      to the appropriate floating point registers with no extra cost.
      
      The only register that is modified is ra in this call.
      
      The helper functions make sure that the return values are in the floating
      point registers that they would be in if soft float was not in effect
      (which it is for mips16, though the soft float is implemented using a mips32
      library that uses hard float).
       
      
      llvm-svn: 181641
      783c7944
    • Rui Ueyama's avatar
      [lld] Document about how to enable debug output. · eaadec3a
      Rui Ueyama authored
      llvm-svn: 181640
      eaadec3a
    • Jordan Rose's avatar
      Micro-optimization: don't shift an entire bitcode record over to get the code. · 6ac4ba23
      Jordan Rose authored
      Previously, BitstreamCursor read an abbreviated record by splatting the
      whole thing into a data vector, then extracting and removing the /first/
      element. Now, it reads the first element--the record code--separately from
      the actual field values.
      
      No (intended) functionality change.
      
      llvm-svn: 181639
      6ac4ba23
    • Douglas Gregor's avatar
      [Modules] When things go horribly wrong when reading a module, point at the module cache. · 940e8050
      Douglas Gregor authored
      Sometimes people hack on their system headers. In such cases, they'll
      need to delete their module cache, but may not know where it is. Add a
      note to show them where it is.
      
      llvm-svn: 181638
      940e8050
    • David Blaikie's avatar
      Give the test from r181632 a target triple. · f95485a6
      David Blaikie authored
      llvm-svn: 181637
      f95485a6
  2. May 10, 2013
Loading