[PATCH] D74691: [Attributor]Detect functions with unbounded loops
omar ahmed via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 24 16:09:17 PST 2020
omarahmed updated this revision to Diff 246332.
omarahmed added a comment.
[Attributor]Detect functions with unbounded loops
This patch changes the approach of containsCycle function of looping on
the CFG from dfs to bfs as the dfs approach detects if-then-else part in
functions as a loop and that result in wrong behaviour, so bfs solves that
problem by only moving level by level on the CFG and only detects loops when
there is an edge to a BB in a visited level.
This patch also uses maxTripCount to detect unbounded loops in function.
It also contains some fixed tests and some added tests contain bounded and
unbounded loops.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D74691/new/
https://reviews.llvm.org/D74691
Files:
llvm/lib/Transforms/IPO/Attributor.cpp
llvm/test/Transforms/Attributor/read_write_returned_arguments_scc.ll
llvm/test/Transforms/Attributor/willreturn.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74691.246332.patch
Type: text/x-patch
Size: 13705 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200225/3a22ae2c/attachment.bin>
More information about the llvm-commits
mailing list