Go to file
Johannes Doerfert a144fb148b Exploit graph properties during domain generation
As a CFG is often structured we can simplify the steps performed
  during domain generation. When we push domain information we can
  utilize the information from a block A to build the domain of a
  block B, if A dominates B. When we pull domain information we can
  use information from a block A to build the domain of a block B
  if B post-dominates A. This patch implements both ideas and thereby
  simplifies domains that were not simplified by isl. For the FINAL
  basic block in
    test/ScopInfo/complex-successor-structure-3.ll .
  we used to build a universe set with 81 basic sets. Now it actually is
  represented as universe set.

  While the initial idea to utilize the graph structure depended on the
  dominator and post-dominator tree we can use the available region
  information as a coarse grained replacement. To this end we push the
  region entry domain to the region exit and pull it from the region
  entry for the region exit.

Differential Revision: http://reviews.llvm.org/D18450

llvm-svn: 264789
2016-03-29 21:31:05 +00:00
clang [Sema] Attempt [3] to fix tests for utf-8 invalid format string specifiers 2016-03-29 21:30:58 +00:00
clang-tools-extra [clang-tidy] Add check to detect dangling references in value handlers. 2016-03-29 18:02:26 +00:00
compiler-rt [profile] Make a test work if run by the super-user 2016-03-29 19:24:58 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc math: Fix ilogb(double) return type 2016-02-24 00:52:15 +00:00
libcxx Implement is_always_lock_free 2016-03-25 15:48:21 +00:00
libcxxabi [libcxxabi] Disable cxa_thread_atexit_test if unavailable 2016-03-17 10:00:24 +00:00
libunwind [AArch64] Fix libunwind build when using GNU assembler 2016-02-11 21:22:57 +00:00
lld Simplify. NFC. 2016-03-29 20:53:21 +00:00
lldb When creating typedefs, don't call Type::GetName() since that might recursively call "lldb_private::Type::ResolveClangType(lldb_private::Type::ResolveStateTag)" and cause a crash. A lldb_private::Type should have a valid name if it is created without a backing CompilerType. Also provide a name that we can recognize so if we see it in a as the typename of a variable, we will know to check it out. This crash is happening quite a bit and we need to determine if this is due to incorrect debug info, or just due to some bug in LLDBD. 2016-03-29 18:22:07 +00:00
llgo [llgo] Increment "Debug Info Version" 2016-03-23 23:09:00 +00:00
llvm Add a print method to MachineFunctionProperties for better error messages 2016-03-29 20:28:20 +00:00
openmp Fix comment in kmp_wait_release.h 2016-03-29 21:08:29 +00:00
polly Exploit graph properties during domain generation 2016-03-29 21:31:05 +00:00