Skip to content
  1. Dec 11, 2015
    • Xinliang David Li's avatar
      [PGO] Read VP raw data without depending on the Value field · d922c26c
      Xinliang David Li authored
      Before this patch, each function's on-disk VP data is 'pointed'
      to by the Value field of per-function ProfileData structue, and 
      read relies on this field (relocated with ValueDataDelta field)
      to read the value data. However this means the Value field needs
      to be updated during runtime before dumping, which creates undesirable
      data races.
      
      With this patch, the reading of VP data no longer depends on Value
      field. There is no format change. ValueDataDelta header field becomes
      obsolute but will be kept for compatibility reason (will be removed
      next time the raw format change is needed).
      
      llvm-svn: 255329
      d922c26c
    • Hans Wennborg's avatar
      Fix build after r255319. · a8e6b3ec
      Hans Wennborg authored
      llvm-svn: 255322
      a8e6b3ec
    • Eric Christopher's avatar
      Fix a spurious if. · 5e834a5d
      Eric Christopher authored
      llvm-svn: 255321
      5e834a5d
    • Akira Hatanaka's avatar
      [LazyValueInfo] Stop inserting overdefined values into ValueCache to · 2992beec
      Akira Hatanaka authored
      reduce memory usage.
      
      Previously, LazyValueInfoCache inserted overdefined lattice values into
      both ValueCache and OverDefinedCache. This wasn't necessary and was
      causing LazyValueInfo to use an excessive amount of memory in some cases.
      
      This patch changes LazyValueInfoCache to insert overdefined values only
      into OverDefinedCache. The memory usage decreases by 70 to 75% when one
      of the files in llvm is compiled.
      
      rdar://problem/11388615
      
      Differential revision: http://reviews.llvm.org/D15391
      
      llvm-svn: 255320
      2992beec
    • Kyle Butt's avatar
      [PPC]: Peephole optimize small accesss to aligned globals. · 1452b76f
      Kyle Butt authored
      Access to aligned globals gives us a chance to peephole optimize nonzero
      offsets. If a struct is 4 byte aligned, then accesses to bytes 0-3 won't
      overflow the available displacement. For example:
              addis 3, 2, b4v@toc@ha
              addi 4, 3, b4v@toc@l
              lbz 5, b4v@toc@l(3) ; This is the result of the current peephole
              lbz 6, 1(4)         ; optimizer
              lbz 7, 2(4)
              lbz 8, 3(4)
      If b4v is 4-byte aligned, we can skip using register 4 because we know
      that b4v@toc@l+{1,2,3} won't overflow 32K, and instead generate:
              addis 3, 2, b4v@toc@ha
              lbz 4, b4v@toc@l(3)
              lbz 5, b4v@toc@l+1(3)
              lbz 6, b4v@toc@l+2(3)
              lbz 7, b4v@toc@l+3(3)
      Saving a register and an addition.
      Larger alignments allow larger structures/arrays to be optimized.
      
      llvm-svn: 255319
      1452b76f
    • Hans Wennborg's avatar
      Check in the script for building Win snapshots · e59910cb
      Hans Wennborg authored
      llvm-svn: 255318
      e59910cb
    • Vedant Kumar's avatar
      [ProfileData] clang-format TextInstrProfReader::hasFormat. NFC. · 2491dd11
      Vedant Kumar authored
      llvm-svn: 255317
      2491dd11
    • Cong Hou's avatar
      [X86][SSE] Update the cost table for integer-integer conversions on SSE2/SSE4.1. · 59898d8c
      Cong Hou authored
      Previously in the conversion cost table there are no entries for integer-integer
      conversions on SSE2. This will result in imprecise costs for certain vectorized
      operations. This patch adds those entries for SSE2 and SSE4.1. The cost numbers
      are counted from the result of running llc on the new test case in this patch.
      
      
      Differential revision: http://reviews.llvm.org/D15132
      
      llvm-svn: 255315
      59898d8c
    • Xinliang David Li's avatar
      Format fix (NFC) · 2d4803e8
      Xinliang David Li authored
      llvm-svn: 255313
      2d4803e8
  2. Dec 10, 2015
Loading