[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