SuccessChanges

Summary

  1. [LLD] Move duplicated dwarf parsing code to the Common library. NFC. (details)
  2. [LLD] [COFF] Use the local dwarf code instead of Symbolizer for (details)
  3. [LLDB] [Windows] Initial support for ARM register contexts (details)
  4. gn build: Merge r375390 (details)
  5. [InstCombine] Allow values with multiple users in (details)
  6. [CVP] Deduce no-wrap on `mul` (details)
  7. [NFC][InstCombine] Fixup comments (details)
  8. Use Align for TFL::TransientStackAlignment (details)
Commit 908b780952d965d344b7fd85358d933272922c10 by martin
[LLD] Move duplicated dwarf parsing code to the Common library. NFC.
Differential Revision: https://reviews.llvm.org/D69197
llvm-svn: 375390
The file was modifiedlld/COFF/InputFiles.cpp
The file was modifiedlld/COFF/InputFiles.h
The file was modifiedlld/ELF/InputFiles.h
The file was addedlld/include/lld/Common/DWARF.h
The file was addedlld/Common/DWARF.cpp
The file was modifiedlld/Common/CMakeLists.txt
The file was modifiedlld/ELF/InputFiles.cpp
Commit 65b1c497d2a6824ab23411611127dc0c3f17c400 by martin
[LLD] [COFF] Use the local dwarf code instead of Symbolizer for
resolving code locations. NFC.
As we now have code that parses the dwarf info for variable locations,
we can use that instead of relying on the higher level Symbolizer
library, reducing the previous two different dwarf codepaths into one.
Differential Revision: https://reviews.llvm.org/D69198
llvm-svn: 375391
The file was modifiedlld/COFF/InputFiles.cpp
The file was modifiedlld/COFF/SymbolTable.cpp
The file was modifiedlld/COFF/InputFiles.h
The file was modifiedlld/COFF/Config.h
The file was modifiedlld/COFF/CMakeLists.txt
Commit a59444a35608988e727fe3761e34f1fad6097617 by martin
[LLDB] [Windows] Initial support for ARM register contexts
Differential Revision: https://reviews.llvm.org/D69226
llvm-svn: 375392
The file was addedlldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.h
The file was addedlldb/source/Plugins/Process/Windows/Common/arm/RegisterContextWindows_arm.cpp
The file was addedlldb/test/Shell/Register/Inputs/arm-fp-read.cpp
The file was addedlldb/test/Shell/Register/arm-gp-read.test
The file was addedlldb/test/Shell/Register/arm-fp-read.test
The file was modifiedlldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
The file was addedlldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.cpp
The file was modifiedlldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
The file was addedlldb/test/Shell/Register/Inputs/arm-gp-read.cpp
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was addedlldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm.h
Commit 01e177ede563680faebc57dcda707632b1b9a45d by llvmgnsyncbot
gn build: Merge r375390
llvm-svn: 375393
The file was modifiedllvm/utils/gn/secondary/lld/Common/BUILD.gn
Commit a861c9aef926f963ea31581bebbd197356323928 by Piotr Sobczak
[InstCombine] Allow values with multiple users in
SimplifyDemandedVectorElts
Summary: Allow for ignoring the check for a single use in
SimplifyDemandedVectorElts to be able to simplify operands if
DemandedElts is known to contain the union of elements used by all
users. It is a responsibility of a caller of SimplifyDemandedVectorElts
to supply correct DemandedElts.
Simplify a series of extractelement instructions if only a subset of
elements is used.
Reviewers: reames, arsenm, majnemer, nhaehnle
Reviewed By: nhaehnle
Subscribers: wdng, jvesely, nhaehnle, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67345
llvm-svn: 375395
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
Commit 292771627735a0d23ba3e82b04f9571def812917 by lebedev.ri
[CVP] Deduce no-wrap on `mul`
Summary:
`ConstantRange::makeGuaranteedNoWrapRegion()` knows how to deal with
`mul` since rL335646, there is exhaustive test coverage. This is already
used by CVP's `processOverflowIntrinsic()`, and by SCEV's
`StrengthenNoWrapFlags()`
That being said, currently, this doesn't help much in the end:
| statistic                              |     old |     new | delta |
percentage |
| correlated-value-propagation.NumMulNSW |       4 |     275 |   271 | 
6775.00% |
| correlated-value-propagation.NumMulNUW |       4 |    1323 |  1319 |
32975.00% |
| correlated-value-propagation.NumMulNW  |       8 |    1598 |  1590 |
19875.00% |
| correlated-value-propagation.NumNSW    |    5715 |    5986 |   271 | 
   4.74% |
| correlated-value-propagation.NumNUW    |    9193 |   10512 |  1319 | 
  14.35% |
| correlated-value-propagation.NumNW     |   14908 |   16498 |  1590 | 
  10.67% |
| instcount.NumAddInst                   |  275871 |  275869 |    -2 | 
   0.00% |
| instcount.NumBrInst                    |  708234 |  708232 |    -2 | 
   0.00% |
| instcount.NumMulInst                   |   43812 |   43810 |    -2 | 
   0.00% |
| instcount.NumPHIInst                   |  316786 |  316784 |    -2 | 
   0.00% |
| instcount.NumTruncInst                 |   62165 |   62167 |     2 | 
   0.00% |
| instcount.NumUDivInst                  |    2528 |    2526 |    -2 | 
  -0.08% |
| instcount.TotalBlocks                  |  842995 |  842993 |    -2 | 
   0.00% |
| instcount.TotalInsts                   | 7376486 | 7376478 |    -8 | 
   0.00% |
(^ test-suite plain, tests still pass)
Reviewers: nikic, reames, luqmana, sanjoy, timshen
Reviewed By: reames
Subscribers: hiraditya, javed.absar, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69203
llvm-svn: 375396
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/mul.ll
Commit 9948fac6c1fae87b31a35afa84fcdb118b671c43 by lebedev.ri
[NFC][InstCombine] Fixup comments
As noted in post-commit review of rL375378375378.
llvm-svn: 375397
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit 3cc4835c00225d52453014a05f0a2b07f1c1973f by gchatelet
Use Align for TFL::TransientStackAlignment
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, dschuff, jyknight, sdardis, jvesely, nhaehnle,
sbc100, jgravelle-google, hiraditya, aheejin, fedor.sergeev, jrtc27,
atanasyan, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69216
llvm-svn: 375398
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/MSP430/MSP430FrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUFrameLowering.h
The file was modifiedllvm/lib/Target/AMDGPU/R600FrameLowering.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUFrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsFrameLowering.h
The file was modifiedllvm/lib/Target/Sparc/SparcFrameLowering.cpp