FailedChanges

Summary

  1. [AMDGPU] Add one more pass to LLVMInitializeAMDGPUTarget (details)
  2. [ConstantFolding] Fold calls to FP remainder function (details)
  3. [DebugInfo] Prevent explosion of debug intrinsics during jump threading (details)
  4. [LLDB] Fix GCC warnings about extra semicolons. NFC. (details)
  5. [NFC][AggressiveInstCombine] Remove redundant std::max. (details)
  6. Revert "[DebugInfo] Prevent explosion of debug intrinsics during jump threading" (details)
  7. [lldb/DWARF] Use DWARFDebugInfoEntry * in ElaboratingDIEIterator (details)
  8. [analyzer]StreamChecker refactoring (NFC). (details)
  9. [TargetLowering] Add NegatibleCost enum for isNegatibleForFree return codes (details)
Commit e9900b1fbff992baadd3e925cc3a213abcaee2a7 by jay.foad
[AMDGPU] Add one more pass to LLVMInitializeAMDGPUTarget
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Commit 2470d2988a057024b7bab99ace3749e6b770c8a0 by ehudkatz
[ConstantFolding] Fold calls to FP remainder function

With the fixed implementation of the "remainder" operation in
rG9d0956ebd471, we can now add support to folding calls to it.

Differential Revision: https://reviews.llvm.org/D69777
The file was modifiedllvm/lib/Analysis/TargetLibraryInfo.cpp
The file was modifiedllvm/test/Analysis/ConstantFolding/math-2.ll
The file was modifiedllvm/include/llvm/Analysis/TargetLibraryInfo.def
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
Commit fe6f6cd6b8e647c5b4ac82f4fcd56c057c2ef8ce by stozer
[DebugInfo] Prevent explosion of debug intrinsics during jump threading

This patch is a fix following the revert of 72ce759
(https://reviews.llvm.org/rG72ce759928e6dfee6a9efa310b966c19722352ba)
and fixes the failure that it caused.

The above patch failed on the Thread Sanitizer buildbot with an out of
memory error. After an investigation, the cause was identified as an
explosion in debug intrinsics while running the Jump Threading pass on
ModuleMap.ll. The above patched prevented debug intrinsics from being
dropped when their Basic Block was deleted due to being "empty". In this
case, one of the functions in ModuleMap.ll had (after many optimization
passes) a very large number of debug intrinsics representing a set of
repeatedly inlined variables. Previously the vast majority of these were
silently dropped during Jump Threading when their blocks were deleted,
but as of the above patch they survived for longer, causing a large
increase in the number of debug intrinsics. These intrinsics were then
repeatedly cloned by the Jump Threading pass as edges were threaded,
multiplying the intrinsic count further. The memory consumed by this
process spiralled out of control, crashing the buildbot that uses TSan
(which has an estimated 5-10x memory overhead compared to non-sanitized
builds).

This patch adds RemoveRedundantDbgInstrs to the Jump Threading pass, in
order to reduce the number of debug intrinsics down to a manageable
amount in cases where many intrinsics for the same variable end up
bunched together contiguously, as in this case.

Differential Revision: https://reviews.llvm.org/D73054
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was addedllvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
Commit 7002128ca935aa02be104e2a0c5812260990b074 by martin
[LLDB] Fix GCC warnings about extra semicolons. NFC.
The file was modifiedlldb/source/API/SystemInitializerFull.cpp
The file was modifiedlldb/tools/lldb-test/SystemInitializerTest.cpp
Commit 49a4d85f6d24b0cfdbe5eb4c17d0d996a7ba89de by ayman.musa
[NFC][AggressiveInstCombine] Remove redundant std::max.

Differential Revision: https://reviews.llvm.org/D74476
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
Commit 6ded69f294a9a62a68b0a07aa987c8165a4b31e7 by stozer
Revert "[DebugInfo] Prevent explosion of debug intrinsics during jump threading"

This reverts commit fe6f6cd6b8e647c5b4ac82f4fcd56c057c2ef8ce.

Found test failure on several buildbots.
The file was removedllvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
Commit 034c2c6771d318f962bbf001f00ee11e542e1180 by pavel
[lldb/DWARF] Use DWARFDebugInfoEntry * in ElaboratingDIEIterator

This is simpler, faster, and sufficient to uniquely idenify a DIE.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
Commit 5b3983ba3716b155d0cb740d4f1940c1bb0a97d5 by 1.int32
[analyzer]StreamChecker refactoring (NFC).

Reviewers: Szelethus

Reviewed By: Szelethus

Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, donat.nagy, Charusso, dkrupp, Szelethus, gamesh411, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D73359
The file was modifiedclang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
Commit 9eb426c88ceb29f2a46ad977f4035d0f0e3d75ab by llvm-dev
[TargetLowering] Add NegatibleCost enum for isNegatibleForFree return codes

The isNegatibleForFree/getNegatedExpression methods currently rely on a raw char value to indicate whether a negation is beneficial or not.

This patch replaces the char return value with an NegatibleCost enum to more clearly demonstrate what is implied.

It also renames isNegatibleForFree to getNegatibleCost to more accurately reflect whats going on.

Differential Revision: https://reviews.llvm.org/D74221
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp