[PATCH] Enable ISL's small integer optimization

Michael Kruse llvm-commits at meinersbur.de
Wed Jun 17 14:47:27 PDT 2015


2015-06-17 21:22 GMT+02:00 Joerg Sonnenberger <joerg at britannica.bec.de>:
> On Wed, Jun 17, 2015 at 05:20:32PM +0000, Michael Kruse wrote:
>> +#
>> +# ISL with activated small integer optimization use C99 extern inline
>> +# semantics. In order to work, we need to enable C99 mode (instead the default
>> +# -std=gnu89)
>>  POLLY_CFLAGS := -fvisibility=hidden
>>  POLLY_CFLAGS += -w
>> +POLLY_CFLAGS += -std=c99
>
> This change is bogus. First of all, gnu89 is only the default for
> various old GCC versions. It hasn't been the default of Clang for a very
> long time. I also believe it is asking for trouble as many systems will
> seriously restrict the system headers when asked for ISO C mode.

Thanks for your feedback.

My up-to-date Ubuntu 15.04 has gcc 4.9.2, which still requires
-std=c99 or you get a link error (multiple definitions; debug builds
only because gcc is very aggressive with inlining). gcc 5 changes the
default to C11, but for know the build requirement for LLVM is only
GCC 4.7 (http://llvm.org/docs/GettingStarted.html#host-c-toolchain-both-compiler-and-standard-library).

The many systems supported are Clang, GCC and Visual Studio. This
change works for Clang and GCC. Visual Studio users will use the CMake
build and the autotools didn't work anyway because of the other flags
added.


Michael



More information about the llvm-commits mailing list