This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Prepare replacing ISL by its 'make dist' files.
ClosedPublic

Authored by Meinersbur on Jun 22 2015, 8:49 AM.

Details

Reviewers
grosser
Summary

Currently the Polly repository contains the ISL sources with bogus isl_config.h and gitversion.h. This is problematic. In this state a macro

#define __attribute__(x)

becomes active in the source, leading to various problems e.g. when included before system header files. This patch will instead generate the two files specific to the host system at configure-time.

For CMake, we replicate the tests that ISL's configure performs using try_compile(). In autotools build, we just invoke ISL's configure to generate the two files. This consequently required regenerating autoconf/configure.

'make dist' distributions of ISL contain a file GIT_HEAD_ID which contains the version the distribution is derived from. The repository files themselves do not contain such a hint. In a later commit we will replace the isl directory by the contents of such a .tar.gz. It does not contain the files imdrover.c iprime.c pi.c and rsamath.c currently compiled into Polly, but not used and therefore are removed by this patch.

In the long term we plan to generate a dedicated library for ISL instead of adding its files to Polly.

This also does not yet include the switch to small-integer optimized ISL nor enabling C99 mode required for the former. Those will come as well in separate patches.

Diff Detail

Event Timeline

Meinersbur updated this revision to Diff 28114.Jun 22 2015, 8:49 AM
Meinersbur retitled this revision from to [Polly] Prepare replacing ISL by its 'make dist' files..
Meinersbur updated this object.
Meinersbur edited the test plan for this revision. (Show Details)
Meinersbur added a reviewer: grosser.
Meinersbur added a project: Restricted Project.
Meinersbur added subscribers: Unknown Object (MLST), pollydev.
grosser accepted this revision.Jun 22 2015, 9:31 AM
grosser edited edge metadata.

Should this patch not drop the isl_config.h file, that is currently part of Polly.

Otherwise, LGTM.

This revision is now accepted and ready to land.Jun 22 2015, 9:31 AM

Should this patch not drop the isl_config.h file, that is currently part of Polly.

This patch is intended to modify the build system only. The isl_config.h will go when External/isl directory is replaced by the 'make dist' distribution of the same directory.

Michael

Meinersbur closed this revision.Jun 22 2015, 11:21 AM

Committed r240301