Skip to content
  1. Oct 01, 2019
    • Djordje Todorovic's avatar
      Reland "[utils] Implement the llvm-locstats tool" · 6d7f7e67
      Djordje Todorovic authored
      The tool reports verbose output for the DWARF debug location coverage.
      The llvm-locstats for each variable or formal parameter DIE computes what
      percentage from the code section bytes, where it is in scope, it has
      location description. The line 0 shows the number (and the percentage) of
      DIEs with no location information, but the line 100 shows the number (and
      the percentage) of DIEs where there is location information in all code
      section bytes (where the variable or parameter is in the scope). The line
      50..59 shows the number (and the percentage) of DIEs where the location
      information is in between 50 and 59 percentage of its scope covered.
      
      Differential Revision: https://reviews.llvm.org/D66526
      
      llvm-svn: 373317
      6d7f7e67
    • Fangrui Song's avatar
      [llvm-readobj/llvm-readelf] Delete --arm-attributes (alias for --arch-specific) · 2d92c884
      Fangrui Song authored
      D68110 added --arch-specific (supported by GNU readelf) and made
      --arm-attributes an alias for it. The tests were later migrated to use
      --arch-specific.
      
      Note, llvm-readelf --arch-specific currently just uses llvm-readobj
      style output for ARM attributes. The readelf-style output is not
      implemented.
      
      Reviewed By: compnerd, kongyi, rupprecht
      
      Differential Revision: https://reviews.llvm.org/D68196
      
      llvm-svn: 373291
      2d92c884
  2. Sep 30, 2019
  3. Sep 29, 2019
  4. Sep 27, 2019
  5. Sep 26, 2019
  6. Sep 25, 2019
    • Florian Hahn's avatar
      [LangRef] Clarify absence of rounding guarantees for fmuladd. · 6b3749f6
      Florian Hahn authored
      During the review of D67434, it was recommended to make fmuladd's
      behavior more explicit. D67434 depends on this interpretation.
      
      Reviewers: efriedma, jfb, reames, scanon, lebedev.ri, spatel
      
      Reviewed By: spatel
      
      Differential Revision: https://reviews.llvm.org/D67552
      
      llvm-svn: 372892
      6b3749f6
    • Sanjay Patel's avatar
      [IR] allow fast-math-flags on phi of FP values (2nd try) · 6d4ea22e
      Sanjay Patel authored
      The changes here are based on the corresponding diffs for allowing FMF on 'select':
      D61917 <https://reviews.llvm.org/D61917>
      
      As discussed there, we want to have fast-math-flags be a property of an FP value
      because the alternative (having them on things like fcmp) leads to logical
      inconsistency such as:
      https://bugs.llvm.org/show_bug.cgi?id=38086
      
      The earlier patch for select made almost no practical difference because most
      unoptimized conditional code begins life as a phi (based on what I see in clang).
      Similarly, I don't expect this patch to do much on its own either because
      SimplifyCFG promptly drops the flags when converting to select on a minimal
      example like:
      https://bugs.llvm.org/show_bug.cgi?id=39535
      
      But once we have this plumbing in place, we should be able to wire up the FMF
      propagation and start solving cases like that.
      
      The change to RecurrenceDescriptor::AddReductionVar() is required to prevent a
      regression in a LoopVectorize test. We are intersecting the FMF of any
      FPMathOperator there, so if a phi is not properly annotated, new math
      instructions may not be either. Once we fix the propagation in SimplifyCFG, it
      may be safe to remove that hack.
      
      Differential Revision: https://reviews.llvm.org/D67564
      
      llvm-svn: 372878
      6d4ea22e
    • Sanjay Patel's avatar
      Revert [IR] allow fast-math-flags on phi of FP values · 2cec4b58
      Sanjay Patel authored
      This reverts r372866 (git commit dec03223)
      
      llvm-svn: 372868
      2cec4b58
    • Sanjay Patel's avatar
      [IR] allow fast-math-flags on phi of FP values · dec03223
      Sanjay Patel authored
      The changes here are based on the corresponding diffs for allowing FMF on 'select':
      D61917
      
      As discussed there, we want to have fast-math-flags be a property of an FP value
      because the alternative (having them on things like fcmp) leads to logical
      inconsistency such as:
      https://bugs.llvm.org/show_bug.cgi?id=38086
      
      The earlier patch for select made almost no practical difference because most
      unoptimized conditional code begins life as a phi (based on what I see in clang).
      Similarly, I don't expect this patch to do much on its own either because
      SimplifyCFG promptly drops the flags when converting to select on a minimal
      example like:
      https://bugs.llvm.org/show_bug.cgi?id=39535
      
      But once we have this plumbing in place, we should be able to wire up the FMF
      propagation and start solving cases like that.
      
      The change to RecurrenceDescriptor::AddReductionVar() is required to prevent a
      regression in a LoopVectorize test. We are intersecting the FMF of any
      FPMathOperator there, so if a phi is not properly annotated, new math
      instructions may not be either. Once we fix the propagation in SimplifyCFG, it
      may be safe to remove that hack.
      
      Differential Revision: https://reviews.llvm.org/D67564
      
      llvm-svn: 372866
      dec03223
    • James Henderson's avatar
      [docs][llvm-strings] Clarify "printable character" wording · 12e30999
      James Henderson authored
      The --bytes option uses the phrase "printable ASCII characters", but the
      description section used simply "printable characters". To avoid any
      confusion about locale impacts etc, this change adopts the former's
      phrasing in both places. It also fixes a minor grammar issue in the
      description.
      
      Reviewed by: MaskRay
      
      Differential Revision: https://reviews.llvm.org/D68016
      
      llvm-svn: 372865
      12e30999
    • James Henderson's avatar
      [docs][llvm-strip] Update llvm-strip doc to better match llvm-objcopy's · 4dd9b2fa
      James Henderson authored
      Main changes are mostly wording of some options, but this change also
      fixes a switch reference so that a link is created and moves
      --strip-sections into the ELF-specific area since it is only supported
      for ELF currently.
      
      llvm-svn: 372864
      4dd9b2fa
    • Dmitry Preobrazhensky's avatar
      [AMDGPU][MC][DOC] Updated AMD GPU assembler description. · b9683d3c
      Dmitry Preobrazhensky authored
      Summary of changes:
      - Updated to reflect recent changes in assembler;
      - Minor bugfixing and improvements.
      
      llvm-svn: 372857
      b9683d3c
    • DeForest Richards's avatar
      [Docs] Moves Reference docs to new page · ccf6030f
      DeForest Richards authored
      Moves Reference docs to new page. Also adds a table of contents to Getting Involved page.
      
      llvm-svn: 372796
      ccf6030f
  7. Sep 24, 2019
  8. Sep 23, 2019
    • Djordje Todorovic's avatar
      Revert "Reland "[utils] Implement the llvm-locstats tool"" · ead96d73
      Djordje Todorovic authored
      This reverts commit rL372554.
      
      llvm-svn: 372580
      ead96d73
    • Djordje Todorovic's avatar
      Reland "[utils] Implement the llvm-locstats tool" · 0e490ae0
      Djordje Todorovic authored
      The tool reports verbose output for the DWARF debug location coverage.
      The llvm-locstats for each variable or formal parameter DIE computes what
      percentage from the code section bytes, where it is in scope, it has
      location description. The line 0 shows the number (and the percentage) of
      DIEs with no location information, but the line 100 shows the number (and
      the percentage) of DIEs where there is location information in all code
      section bytes (where the variable or parameter is in the scope). The line
      50..59 shows the number (and the percentage) of DIEs where the location
      information is in between 50 and 59 percentage of its scope covered.
      
      Differential Revision: https://reviews.llvm.org/D66526
      
      llvm-svn: 372554
      0e490ae0
  9. Sep 21, 2019
  10. Sep 20, 2019
  11. Sep 19, 2019
  12. Sep 18, 2019
    • Bardia Mahjour's avatar
      Data Dependence Graph Basics · db800c26
      Bardia Mahjour authored
      Summary:
      This is the first patch in a series of patches that will implement data dependence graph in LLVM. Many of the ideas used in this implementation are based on the following paper:
      D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND COMPILER OPTIMIZATIONS.
      This patch contains support for a basic DDGs containing only atomic nodes (one node for each instruction). The edges are two fold: def-use edges and memory-dependence edges.
      The implementation takes a list of basic-blocks and only considers dependencies among instructions in those basic blocks. Any dependencies coming into or going out of instructions that do not belong to those basic blocks are ignored.
      
      The algorithm for building the graph involves the following steps in order:
      
        1. For each instruction in the range of basic blocks to consider, create an atomic node in the resulting graph.
        2. For each node in the graph establish def-use edges to/from other nodes in the graph.
        3. For each pair of nodes containing memory instruction(s) create memory edges between them. This part of the algorithm goes through the instructions in lexicographical order and creates edges in reverse order if the sink of the dependence occurs before the source of it.
      
      Authored By: bmahjour
      
      Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert
      
      Reviewed By: Meinersbur, fhahn, myhsu
      
      Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto
      
      Tag: #llvm
      
      Differential Revision: https://reviews.llvm.org/D65350
      
      llvm-svn: 372238
      db800c26
  13. Sep 17, 2019
    • Jinsong Ji's avatar
      Reland "[docs][Bugpoint]Add notes about multiple crashes" · 0c8e4a2e
      Jinsong Ji authored
      Fix the warning.
      Bugpoint.rst:124:Mismatch: both interpreted text role prefix and
      reference suffix.
      
      Note that the line no here is wrong and misleading,
      the problem is in line 128, not 124.
      
      llvm-svn: 372181
      0c8e4a2e
    • Bardia Mahjour's avatar
      Revert "Data Dependence Graph Basics" · 6476d7cf
      Bardia Mahjour authored
      This reverts commit c98ec609, which broke the sphinx-docs build.
      
      llvm-svn: 372168
      6476d7cf
    • Bardia Mahjour's avatar
      Data Dependence Graph Basics · c98ec609
      Bardia Mahjour authored
      Summary:
      This is the first patch in a series of patches that will implement data dependence graph in LLVM. Many of the ideas used in this implementation are based on the following paper:
      D. J. Kuck, R. H. Kuhn, D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND COMPILER OPTIMIZATIONS.
      This patch contains support for a basic DDGs containing only atomic nodes (one node for each instruction). The edges are two fold: def-use edges and memory-dependence edges.
      The implementation takes a list of basic-blocks and only considers dependencies among instructions in those basic blocks. Any dependencies coming into or going out of instructions that do not belong to those basic blocks are ignored.
      
      The algorithm for building the graph involves the following steps in order:
      
        1. For each instruction in the range of basic blocks to consider, create an atomic node in the resulting graph.
        2. For each node in the graph establish def-use edges to/from other nodes in the graph.
        3. For each pair of nodes containing memory instruction(s) create memory edges between them. This part of the algorithm goes through the instructions in lexicographical order and creates edges in reverse order if the sink of the dependence occurs before the source of it.
      
      Authored By: bmahjour
      
      Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert
      
      Reviewed By: Meinersbur, fhahn, myhsu
      
      Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya, jfb, wuzish, llvm-commits, jsji, Whitney, etiotto
      
      Tag: #llvm
      
      Differential Revision: https://reviews.llvm.org/D65350
      
      llvm-svn: 372162
      c98ec609
    • Jinsong Ji's avatar
      [docs][Bugpoint] Revert 5584ead5 a5aa3353 · 6fce46a5
      Jinsong Ji authored
      No sure why there are still warnings, revert while I investigate.
      
      llvm-svn: 372161
      6fce46a5
    • Jinsong Ji's avatar
      [docs][Bugpoint] Fix build break. · 5584ead5
      Jinsong Ji authored
      Bugpoint.rst:124: WARNING: Mismatch: both interpreted text role prefix
      and reference suffix.
      
      llvm-svn: 372160
      5584ead5
Loading