diff options
| author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2015-11-07 19:46:04 +0000 |
|---|---|---|
| committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2015-11-07 19:46:04 +0000 |
| commit | c4898504ea6089a3a45bd389e8fa5db6f244da90 (patch) | |
| tree | 6ee5de127c9b95b36e4258f23f61870b42834a0d /llvm/lib/Transforms/Utils/LoopVersioning.cpp | |
| parent | 44483c559935ecfccfae5b6fbe1386bad8693a2a (diff) | |
| download | llvm-c4898504ea6089a3a45bd389e8fa5db6f244da90.zip llvm-c4898504ea6089a3a45bd389e8fa5db6f244da90.tar.gz llvm-c4898504ea6089a3a45bd389e8fa5db6f244da90.tar.bz2 | |
[FIX] Bail out if there is a dependence cycle between invariant loads
While the program cannot cause a dependence cycle between invariant
loads, additional constraints (e.g., to ensure finite loops) can
introduce them. It is hard to detect them in the SCoP description,
thus we will only check for them at code generation time. If such a
recursion is detected we will bail out the code generation and place a
"false" runtime check to guarantee the original code is used.
This fixes bug 25443.
llvm-svn: 252412
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions
