Go to file
Johannes Doerfert ecff11dcfb Add scalar and phi code generation
To reduce compile time and to allow more and better quality SCoPs in
  the long run we introduced scalar dependences and PHI-modeling. This
  patch will now allow us to generate code if one or both of those
  options are set. While the principle of demoting scalars as well as
  PHIs to memory in order to communicate their value stays the same,
  this allows to delay the demotion till the very end (the actual code
  generation). Consequently:
    - We __almost__ do not modify the code if we do not generate code
      for an optimized SCoP in the end. Thus, the early exit as well as
      the unprofitable option will now actually preven us from
      introducing regressions in case we will probably not get better
      code.
    - Polly can be used as a "pure" analyzer tool as long as the code
      generator is set to none.
    - The original SCoP is almost not touched when the optimized version
      is placed next to it. Runtime regressions if the runtime checks
      chooses the original are not to be expected and later
      optimizations do not need to revert the demotion for that part.
    - We will generate direct accesses to the demoted values, thus there
      are no "trivial GEPs" that select the first element of a scalar we
      demoted and treated as an array.

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

llvm-svn: 238070
2015-05-22 23:43:58 +00:00
clang add missing include for TargetRecip 2015-05-22 22:59:27 +00:00
clang-tools-extra Add a clang-tidy check for move constructors/assignment ops without noexcept. 2015-05-22 10:31:17 +00:00
compiler-rt builtins: mark functions as aapcs on Windows 2015-05-22 21:47:24 +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 Use a more accurate implementation for exp 2015-05-13 03:55:09 +00:00
libcxx Add TODO items 2015-05-22 02:23:22 +00:00
libcxxabi LIBCXXABI_LIBUNWIND_INCLUDES is already set before calling find_path, and find_path will not update it. 2015-05-09 21:03:01 +00:00
libunwind Code cleanup: Remove duplicated line. 2015-05-17 13:49:18 +00:00
lld [Mips] Cleanup and reformat test cases, add more checkings 2015-05-22 21:08:37 +00:00
lldb Use target's SIGSTOP and SIGINT when making decision about continue after async packet. 2015-05-22 23:14:39 +00:00
llgo benchcomp: Add macho_symsizes mode for comparing Mach-O object symbol sizes. 2015-05-12 22:14:26 +00:00
llvm [InstCombine] Don't eagerly propagate nsw for A*B+A*C => A*(B+C) 2015-05-22 23:02:11 +00:00
openmp Fix doxygen comments 2015-05-22 22:37:22 +00:00
polly Add scalar and phi code generation 2015-05-22 23:43:58 +00:00