[all-commits] [llvm/llvm-project] 31ea97: [SLP] Add some tests that require memory runtime c...
Florian Hahn via All-commits
all-commits at lists.llvm.org
Fri Jun 11 06:30:55 PDT 2021
Branch: refs/heads/perf/tmp-slp-memcheck-noaliasmd
Home: https://github.com/llvm/llvm-project
Commit: 31ea973802050b5bacf4d5261e000b6875108c49
https://github.com/llvm/llvm-project/commit/31ea973802050b5bacf4d5261e000b6875108c49
Author: Florian Hahn <flo at fhahn.com>
Date: 2021-06-11 (Fri, 11 Jun 2021)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
A llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
Log Message:
-----------
[SLP] Add some tests that require memory runtime checks.
Commit: eb951149ea161a0b7cfba9f7645c4fdf3a7d9ecb
https://github.com/llvm/llvm-project/commit/eb951149ea161a0b7cfba9f7645c4fdf3a7d9ecb
Author: Florian Hahn <flo at fhahn.com>
Date: 2021-06-11 (Fri, 11 Jun 2021)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
Log Message:
-----------
[SLPVectorizer] WIP Implement initial memory versioning (WIP!)
This patch is just an initial sketch to get a discussion going on how to
best support generating runtime checks for may-aliasing memory accesses.
The key question to start with is where to best collect and generate
runtime checks. Currently codegen for a block is eager; for each block,
if we find a vectorizable tree, we vectorize it and then analyze the
rest of the block. This makes it hard to collect *all* runtime checks
for a block before changing the code.
Perhaps for now we need to limit the checks to the first vectorizable
tree in a block? This is what the patch tries to do.
There are a couple of mechanical/technical issues that need to be
addressed, but I think the questions above are key to answer/address
first.
Other than that, the patch does not yet consider the cost of cloning
the block and the runtime checks. It also does not introduce phis
for values used outside the cloned block, so it will generate invalid IR
in those cases for now.
Differential Revision: https://reviews.llvm.org/D102834
Commit: 6a7fc3e02d1fcf08189cbf87091967845557c4fe
https://github.com/llvm/llvm-project/commit/6a7fc3e02d1fcf08189cbf87091967845557c4fe
Author: Florian Hahn <flo at fhahn.com>
Date: 2021-06-11 (Fri, 11 Jun 2021)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
M llvm/test/Transforms/IndVarSimplify/eliminate-exit-no-dl.ll
Log Message:
-----------
Foo
Commit: 95227e4faaa5640cc4c0601124f596ce027effce
https://github.com/llvm/llvm-project/commit/95227e4faaa5640cc4c0601124f596ce027effce
Author: Florian Hahn <flo at fhahn.com>
Date: 2021-06-11 (Fri, 11 Jun 2021)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/memory-runtime-checks.ll
M llvm/test/Transforms/SLPVectorizer/X86/memory-runtime-checks.ll
Log Message:
-----------
Wrap
Compare: https://github.com/llvm/llvm-project/compare/31ea97380205%5E...95227e4faaa5
More information about the All-commits
mailing list