Skip to content
  1. May 11, 2013
    • Nadav Rotem's avatar
      SLPVectorizer: Add support for trees with external users. · cdfb48d2
      Nadav Rotem authored
      For example:
      bar() {
        int a = A[i];
        int b = A[i+1];
        B[i] = a;
        B[i+1] = b;
        foo(a);  <--- a is used outside the vectorized expression.
      }
      
      llvm-svn: 181648
      cdfb48d2
    • Nadav Rotem's avatar
      Add a debug print · 0686e5cb
      Nadav Rotem authored
      llvm-svn: 181647
      0686e5cb
    • 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
    • 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
  2. May 10, 2013
  3. May 09, 2013
  4. May 08, 2013
    • Eric Christopher's avatar
      Make sure debug info contains linkage names (DW_AT_MIPS_linkage_name) · 697fa1c8
      Eric Christopher authored
      for constructors and destructors since the original declaration given
      by the AT_specification both won't and can't.
      
      Patch by Yacine Belkadi, I've cleaned up the testcases.
      
      llvm-svn: 181471
      697fa1c8
    • Daniel Malea's avatar
      Add DebugIR pass -- emits IR file and replace source lines with IR lines in MD · 3c5bed16
      Daniel Malea authored
      - requires existing debug information to be present
      - fixes up file name and line number information in metadata
      - emits a "<orig_filename>-debug.ll" succinct IR file (without !dbg metadata
        or debug intrinsics) that can be read by a debugger
      - initialize pass in opt tool to enable the "-debug-ir" flag
      - lit tests to follow
      
      llvm-svn: 181467
      3c5bed16
    • Daniel Malea's avatar
      Pull up AssemblyWriter interface into header to allow subclassing · ded9f932
      Daniel Malea authored
      - made all functions virtual so that subclasses can specialize them
      - add printInstructionLine so that subclasses can choose whether or not to
        print the newline character (without having to implement printBasicBlock()
      - added a second constructor to AssemblyWriter that does not require a
        SlotTracker, as required in order to keep the SlotTracker helper class outside
        AsmWriter.h and buried in the implementation.
      
      llvm-svn: 181466
      ded9f932
Loading