[all-commits] [llvm/llvm-project] b4c29a: [SROA] prevent crash on large memset length (PR50910)
Andy Kaylor via All-commits
all-commits at lists.llvm.org
Wed Aug 4 16:52:15 PDT 2021
Branch: refs/heads/release/13.x
Home: https://github.com/llvm/llvm-project
Commit: b4c29a722b6f3ea342646a726f0faa424f27e09a
https://github.com/llvm/llvm-project/commit/b4c29a722b6f3ea342646a726f0faa424f27e09a
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2021-08-04 (Wed, 04 Aug 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/slice-width.ll
Log Message:
-----------
[SROA] prevent crash on large memset length (PR50910)
I don't know much about this pass, but we need a stronger
check on the memset length arg to avoid an assert. The
current code was added with D59000.
The test is reduced from:
https://llvm.org/PR50910
Differential Revision: https://reviews.llvm.org/D106462
(cherry picked from commit f2a322bfcfbc62b5523f32c4eded6faf2cad2e24)
Commit: 906eada08ec23e383c850c490982b9c9a7b79a3a
https://github.com/llvm/llvm-project/commit/906eada08ec23e383c850c490982b9c9a7b79a3a
Author: Jeroen Dobbelaere <jeroen.dobbelaere at synopsys.com>
Date: 2021-08-04 (Wed, 04 Aug 2021)
Changed paths:
M llvm/include/llvm/Transforms/Utils/PredicateInfo.h
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/test/Other/debugcounter-predicateinfo.ll
M llvm/test/Transforms/Util/PredicateInfo/condprop.ll
M llvm/test/Transforms/Util/PredicateInfo/diamond.ll
M llvm/test/Transforms/Util/PredicateInfo/edge.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
M llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
Log Message:
-----------
Revert "Revert of D49126 [PredicateInfo] Use custom mangling to support ssa_copy with unnamed types."
This reverts commit 77080a1eb6061df2dcfae8ac84b85ad4d1e02031.
This change introduced issues detected with EXPENSIVE_CHECKS. Reverting to restore the
needed function cleanup. A next patch will then just improve on the name mangling.
(cherry picked from commit dc5570d149ca6a0931413bf1ad469eb8f9517f82)
Commit: 36eb72ec614ae2da0943e03b50374364f24883b2
https://github.com/llvm/llvm-project/commit/36eb72ec614ae2da0943e03b50374364f24883b2
Author: Jeroen Dobbelaere <jeroen.dobbelaere at synopsys.com>
Date: 2021-08-04 (Wed, 04 Aug 2021)
Changed paths:
M llvm/include/llvm/IR/Module.h
M llvm/lib/IR/Module.cpp
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
M llvm/test/Other/debugcounter-predicateinfo.ll
M llvm/test/Transforms/Util/PredicateInfo/condprop.ll
M llvm/test/Transforms/Util/PredicateInfo/diamond.ll
M llvm/test/Transforms/Util/PredicateInfo/edge.ll
M llvm/test/Transforms/Util/PredicateInfo/testandor.ll
M llvm/test/Transforms/Util/PredicateInfo/unnamed-types.ll
Log Message:
-----------
[PredicateInfo] Use Intrinsic::getDeclaration now that it handles unnamed types.
This is a second attempt to fix the EXPENSIVE_CHECKS issue that was mentioned In D91661#2875179 by @jroelofs.
(The first attempt was in D105983)
D91661 more or less completely reverted D49126 and by doing so also removed the cleanup logic of the created declarations and calls.
This patch is a replacement for D91661 (which must itself be reverted first). It replaces the custom declaration creation with the
generic version and shows the test impact. It also tracks the number of NamedValues to detect if a new prototype was added instead
of looking at the available users of a prototype.
Reviewed By: jroelofs
Differential Revision: https://reviews.llvm.org/D106147
(cherry picked from commit 03b8c69d06f810f13d0b74d06dabea37c43e5b78)
Commit: f4b8a74d8e6f210a09cce59a6f7ab3bd605fd6f1
https://github.com/llvm/llvm-project/commit/f4b8a74d8e6f210a09cce59a6f7ab3bd605fd6f1
Author: Andy Kaylor <andrew.kaylor at intel.com>
Date: 2021-08-04 (Wed, 04 Aug 2021)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
Log Message:
-----------
Fixing an infinite loop problem in InstCombine
Patch by Mohammad Fawaz
This issues started happening after
https://github.com/llvm/llvm-project/commit/b373b5990d5991a920c421b21a352e4ccf4c4993
Basically, if the memcpy is volatile, the collectUsers() function should
return false, just like we do for volatile loads.
Differential Revision: https://reviews.llvm.org/D106950
(cherry picked from commit b4d945bacdaf2c60dd5fdb119b90cced73c41beb)
Compare: https://github.com/llvm/llvm-project/compare/fd5ec459c3f9...f4b8a74d8e6f
More information about the All-commits
mailing list