[all-commits] [llvm/llvm-project] 05ae04: [DA][SDA] SyncDependenceAnalysis re-write
Simon Moll via All-commits
all-commits at lists.llvm.org
Wed Sep 30 08:37:24 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 05ae04c396519cca9ef50d3b9cafb0cd9c87d1d7
https://github.com/llvm/llvm-project/commit/05ae04c396519cca9ef50d3b9cafb0cd9c87d1d7
Author: Simon Moll <simon.moll at emea.nec.com>
Date: 2020-09-30 (Wed, 30 Sep 2020)
Changed paths:
M llvm/include/llvm/Analysis/DivergenceAnalysis.h
M llvm/include/llvm/Analysis/SyncDependenceAnalysis.h
M llvm/lib/Analysis/DivergenceAnalysis.cpp
M llvm/lib/Analysis/SyncDependenceAnalysis.cpp
M llvm/test/Analysis/DivergenceAnalysis/AMDGPU/hidden_loopdiverge.ll
M llvm/test/Analysis/DivergenceAnalysis/AMDGPU/trivial-join-at-loop-exit.ll
Log Message:
-----------
[DA][SDA] SyncDependenceAnalysis re-write
This patch achieves two things:
1. It breaks up the `join_blocks` interface between the SDA to the DA to
return two separate sets for divergent loops exits and divergent,
disjoint path joins.
2. It updates the SDA algorithm to run in O(n) time and improves the
precision on divergent loop exits.
This fixes `https://bugs.llvm.org/show_bug.cgi?id=46372` (by virtue of
the improved `join_blocks` interface) and revealed an imprecise expected
result in the `Analysis/DivergenceAnalysis/AMDGPU/hidden_loopdiverge.ll`
test.
Reviewed By: sameerds
Differential Revision: https://reviews.llvm.org/D84413
More information about the All-commits
mailing list