[PATCH] D13423: Treat conditionally executed non-pure calls as errors
Johannes Doerfert via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 4 11:12:11 PDT 2015
jdoerfert created this revision.
jdoerfert added reviewers: grosser, Meinersbur.
jdoerfert added a subscriber: Polly.
This replaces the support for user defined error functions by a
heuristic that tries to determine if a call to a non-pure function
should be considered "an error". If so the block is assumed not to be
executed at runtime. While treating all non-pure function calls as
errors will allow a lot more regions to be analyzed, it will also
cause us to dismiss a lot again due to an infeasible runtime context.
This patch tries to limit that effect. A non-pure function call is
considered an error if it is executed only in conditionally.
http://reviews.llvm.org/D13423
Files:
include/polly/ScopDetection.h
include/polly/Support/ScopHelper.h
lib/Analysis/ScopDetection.cpp
lib/Analysis/ScopInfo.cpp
lib/Support/ScopHelper.cpp
test/ScopInfo/non-pure-function-call.ll
test/ScopInfo/non-pure-function-calls-causes-dead-blocks.ll
test/ScopInfo/non-pure-function-calls.ll
test/ScopInfo/user-defined-error-causes-dead-blocks.ll
test/ScopInfo/user-defined-error-functions.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13423.36471.patch
Type: text/x-patch
Size: 9433 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151004/c320670a/attachment.bin>
More information about the llvm-commits
mailing list