C++11: Use foreach in ScopDetection

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202634 91177308-0d34-0410-b5e6-96231b3b80d8
PollyDectect: Use spaces before foreach colons

clang-format requires a space before the ":" in the foreach loop. Even though
this is surprising to me, we follow this style to make our formatting
consistent with clang-format. I found that this clang-format style is used in a
couple of C++11 examples, hence I believe the fact that clang-format adds a
colon is not a bug but just something I was not used to yet.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202648 91177308-0d34-0410-b5e6-96231b3b80d8
Use C++11 formatting

clang-formats behaviour has changed for a couple of C++11 formattings. We adapt
Polly to ensure our formatting checks are clean again.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202650 91177308-0d34-0410-b5e6-96231b3b80d8
ScopDetect: Make foreachs 'const auto &'

We mostly iterate over read-only values. Following a suggestion by Duncan P.N
Exons Smith, we use the construct 'const auto &' for this.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202651 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Use foreach iterator for blocks and operands

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202707 91177308-0d34-0410-b5e6-96231b3b80d8
cmake: build monolithic libLLVMPollyLib.dylib

The module LLVMPolly.so links to that. There is really no reason to build a
large number of mini-libraries here, especially as we do have dependences
between the libraries that are not properly handled and that make linking fail
on darwin.

Submitted-by: David Fang  <fang@csl.cornell.edu>

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202743 91177308-0d34-0410-b5e6-96231b3b80d8
cmake: Split off functionality for LLVM loadable module

This fixes the buildbots who failed, because the linker eliminated most of the
Polly functionality when building without BUILD_SHARED_LIBS=ON.

Besides fixing the build, this change also brings additional functionality. With
the new separation between the general polly libraries and the functionality for
the polly module, it is now possible to link polly directly into a tool instead
of using requiring users to load a shared library.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202762 91177308-0d34-0410-b5e6-96231b3b80d8
Commit missing PollyModule.cpp file

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202764 91177308-0d34-0410-b5e6-96231b3b80d8
And some formatting fixes

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202766 91177308-0d34-0410-b5e6-96231b3b80d8
[Modules] Update to reflect the move of CFG.h to the IR library in LLVM
r202827.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202830 91177308-0d34-0410-b5e6-96231b3b80d8
Introduce PollyIRBuilder

PollyIRBuilder is currently just a typedef to IRBuilder<>. Consequently, this
change should not affect behavior. In subsequent patches we will extend its
functionality to emit loop.parallel metadata.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202853 91177308-0d34-0410-b5e6-96231b3b80d8
Emit llvm.loop metadata for parallel loops

For now we only mark innermost loops for the loop vectorizer.  We could later
also mark not-innermost loops to enable the introduction of openmp parallelism.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202854 91177308-0d34-0410-b5e6-96231b3b80d8
Always name instructions

We currently need to always name instructions, as the polly test suite currently
matches for certain names. We should improve the test suite at some point.

This fixes 'make check-polly' in NDEBUG builds.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202855 91177308-0d34-0410-b5e6-96231b3b80d8
Fix formatting

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@202856 91177308-0d34-0410-b5e6-96231b3b80d8
[Layering] Update include of DebugInfo.h which moved to the IR library
in LLVM r203046.


git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@203049 91177308-0d34-0410-b5e6-96231b3b80d8
remove unused code

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@203163 91177308-0d34-0410-b5e6-96231b3b80d8
[C++11] Update to reflect the Value::use_iterator and
Value::user_iterator changes in LLVM r203364. Converts several of these
loops to nice range based loops in the process.

Built and tested cleanly for me, yay for being able to fully build and
test Polly changes!

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@203381 91177308-0d34-0410-b5e6-96231b3b80d8
www: Fix link to Pluto

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@203456 91177308-0d34-0410-b5e6-96231b3b80d8
Update isl to ensure 'extern "C" {' is available

Older isl versions did not properly guard all function declarations for the
use in C++. Specifically, the isl/val_gmp.h header was not properly guarded.
This patch ensures we have the proper guards in place and do not accidentally
link to name-mangled C++ versions of those functions that are not available in
libisl.so.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@203462 91177308-0d34-0410-b5e6-96231b3b80d8
Update CLooG and some test cases

This is necessary to avoid test failures in the CLooG test suite due to the
recent isl update.

We also need to update two polly test cases which rely on a certain order in the
textual description that isl chooses for its sets and maps. Changes here are not
often, but we should probably switch to a check that verifies such maps are
semantically equivalent instead of represented identically.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@203476 91177308-0d34-0410-b5e6-96231b3b80d8