[all-commits] [llvm/llvm-project] dabd6a: [MemCpyOpt] Add additional tests for memset+memcpy...
Nikita Popov via All-commits
all-commits at lists.llvm.org
Sat Mar 13 02:43:47 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: dabd6abbcd8ead8a16c2d6e0b2571f86c8e033a3
https://github.com/llvm/llvm-project/commit/dabd6abbcd8ead8a16c2d6e0b2571f86c8e033a3
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2021-03-13 (Sat, 13 Mar 2021)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
Log Message:
-----------
[MemCpyOpt] Add additional tests for memset+memcpy overwrite (NFC)
Commit: 9080444f3311d62a98c28ce5a72b39da9e54e3cc
https://github.com/llvm/llvm-project/commit/9080444f3311d62a98c28ce5a72b39da9e54e3cc
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2021-03-13 (Sat, 13 Mar 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
M llvm/test/Transforms/MemCpyOpt/preserve-memssa.ll
Log Message:
-----------
[MemCpyOpt] Don't generate zero-size memset
If a memset destination is overwritten by a memcpy and the sizes
are exactly the same, then the memset is simply dead. We can
directly drop it, instead of replacing it with a memset of zero
size, which is particularly ugly for the case of a dynamic size.
Commit: 2902bdeea1a58f9d14c92da966b027cee516dfd8
https://github.com/llvm/llvm-project/commit/2902bdeea1a58f9d14c92da966b027cee516dfd8
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2021-03-13 (Sat, 13 Mar 2021)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memset-memcpy-redundant-memset.ll
Log Message:
-----------
[MemCpyOpt] Use AA to check for MustAlias between memset and memcpy
Rather than checking for simple equality, check for MustAlias, as
we do in other transforms. This catches equivalent GEPs.
Compare: https://github.com/llvm/llvm-project/compare/b2f933a6ce83...2902bdeea1a5
More information about the All-commits
mailing list