and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

  1. 22 Sep, 2020 4 commits
    • Jessica Clarke's avatar
      [clang][docs] Fix documentation of -O · 8aca41f3
      Jessica Clarke authored
      D79916 changed the behaviour from -O2 to -O1 but the documentation was
      not updated to reflect this.
      
      (cherry picked from commit 788c7d2e)
      8aca41f3
    • Lucas Prates's avatar
      [CodeGen] Fixing inconsistent ABI mangling of vlaues in SelectionDAGBuilder · b513e196
      Lucas Prates authored
      SelectionDAGBuilder was inconsistently mangling values based on ABI
      Calling Conventions when getting them through copyFromRegs in
      SelectionDAGBuilder, causing duplicate value type convertions for
      function arguments. The checking for the mangling requirement was based
      on the value's originating instruction and was performed outside of, and
      inspite of, the regular Calling Convention Lowering.
      
      The issue could be observed in a scenario such as:
      
      ```
      %arg1 = load half, half* %const, align 2
      %arg2 = call fastcc half @someFunc()
      call fastcc void @otherFunc(half %arg1, half %arg2)
      ; Here, %arg2 was incorrectly mangled twice, as the CallConv data from
      ; the call to @someFunc() was taken into consideration for the check
      ; when getting the value for processing the call to @otherFunc(...),
      ; after the proper convertion had taken place when lowering the return
      ; value of the first call.
      ```
      
      This patch fixes the issue by disregarding the Calling Convention
      information for such copyFromRegs, making sure the ABI mangling is
      properly contanined in the Calling Convention Lowering.
      
      This fixes Bugzilla #47454.
      
      Reviewed By: efriedma
      
      Differential Revision: https://reviews.llvm.org/D87844
      
      (cherry picked from commit 53d238a9)
      b513e196
    • James Y Knight's avatar
      PR47468: Fix findPHICopyInsertPoint, so that copies aren't incorrectly... · 6250d494
      James Y Knight authored
      PR47468: Fix findPHICopyInsertPoint, so that copies aren't incorrectly inserted after an INLINEASM_BR.
      
      findPHICopyInsertPoint special cases placement in a block with a
      callbr or invoke in it. In that case, we must ensure that the copy is
      placed before the INLINEASM_BR or call instruction, if the register is
      defined prior to that instruction, because it may jump out of the
      block.
      
      Previously, the code placed it immediately after the last def _or
      use_. This is wrong, if the use is the instruction which may jump.  We
      could correctly place it immediately after the last def (ignoring
      uses), but that is non-optimal for register pressure.
      
      Instead, place the copy after the last def, or before the
      call/inlineasm_br, whichever is later.
      
      Differential Revision: https://reviews.llvm.org/D87865
      
      (cherry picked from commit f7a53d82)
      6250d494
    • David Blaikie's avatar
      [llvm] Add contains(KeyType) -> bool methods to SmallPtrSet · 410b0dc8
      David Blaikie authored
      Matches C++20 API addition.
      
      Differential Revision: https://reviews.llvm.org/D83449
      
      (cherry picked from commit a0385bd7)
      410b0dc8
  2. 17 Sep, 2020 3 commits
  3. 16 Sep, 2020 10 commits
  4. 15 Sep, 2020 16 commits
  5. 14 Sep, 2020 1 commit
    • dfukalov's avatar
      [AMDGPU] Fix for folding v2.16 literals. · b3fb40b3
      dfukalov authored
      It was found some packed immediate operands (e.g. `<half 1.0, half 2.0>`) are
      incorrectly processed so one of two packed values were lost.
      
      Introduced new function to check immediate 32-bit operand can be folded.
      Converted condition about current op_sel flags value to fall-through.
      
      Fixes: SWDEV-247595
      
      Reviewed By: rampitec
      
      Differential Revision: https://reviews.llvm.org/D87158
      
      (cherry picked from commit d03c4034dc80c944ec4a5833ba8f87d60183f866)
      b3fb40b3
  6. 11 Sep, 2020 4 commits
  7. 10 Sep, 2020 2 commits