Skip to content
  1. Feb 18, 2014
    • Duncan P. N. Exon Smith's avatar
      PGO: llvm-profdata: tool for merging profiles · 846a627f
      Duncan P. N. Exon Smith authored
      Introducing llvm-profdata, a tool for merging profile data generated by
      PGO instrumentation in clang.
      
      - The name indicates a file extension of <name>.profdata.  Eventually
        profile data output by clang should be changed to that extension.
      
      - llvm-profdata merges two profiles.  However, the name is more general,
        since it will likely pick up more tasks (such as summarizing a single
        profile).
      
      - llvm-profdata parses the current text-based format, but will be
        updated once we settle on a binary format.
      
      <rdar://problem/15949645>
      
      llvm-svn: 201535
      846a627f
  2. Feb 17, 2014
  3. Feb 16, 2014
    • Mark Seaborn's avatar
      Use 16 byte stack alignment for NaCl on ARM · be266aa3
      Mark Seaborn authored
      NaCl's ARM ABI uses 16 byte stack alignment, so set that in
      ARMSubtarget.cpp.
      
      Using 16 byte alignment exposes an issue in code generation in which a
      varargs function leaves a 4 byte gap between the values of r1-r3 saved
      to the stack and the following arguments that were passed on the
      stack.  (Previously, this code only needed to support 4 byte and 8
      byte alignment.)
      
      With this issue, llc generated:
      
      varargs_func:
              sub     sp, sp, #16
              push    {lr}
              sub     sp, sp, #12
              add     r0, sp, #16   // Should be 20
              stm     r0, {r1, r2, r3}
              ldr     r0, .LCPI0_0  // Address of va_list
              add     r1, sp, #16
              str     r1, [r0]
              bl      external_func
      
      Fix the bug by checking for "Align > 4".  Also simplify the code by
      using OffsetToAlignment(), and update comments.
      
      Differential Revision: http://llvm-reviews.chandlerc.com/D2677
      
      llvm-svn: 201497
      be266aa3
    • Arnold Schwaighofer's avatar
      SCEVExpander: Try hard not to create derived induction variables in other loops · 26f567d8
      Arnold Schwaighofer authored
      During LSR of one loop we can run into a situation where we have to expand the
      start of a recurrence of a loop induction variable in this loop. This start
      value is a value derived of the induction variable of a preceeding loop. SCEV
      has cannonicalized this value to a different recurrence than the recurrence of
      the preceeding loop's induction variable (the type and/or step direction) has
      changed). When we come to instantiate this SCEV we created a second induction
      variable in this preceeding loop.  This patch tries to base such derived
      induction variables of the preceeding loop's induction variable.
      
      This helps twolf on arm and seems to help scimark2 on x86.
      
      Reapply with a fix for the case of a value derived from a pointer.
      
      radar://15970709
      
      llvm-svn: 201496
      26f567d8
    • Rafael Espindola's avatar
      Remove dead code, we already require cmake 2.8.8. · 7e78a5a2
      Rafael Espindola authored
      llvm-svn: 201495
      7e78a5a2
    • Rafael Espindola's avatar
      Remove unnecessary typename. · 56b663b6
      Rafael Espindola authored
      Thanks to Elena Demikhovsky for noticing.
      
      llvm-svn: 201494
      56b663b6
Loading