[llvm-dev] RFC: Building GlobalISel by default

Mehdi Amini via llvm-dev
Sat, 14 Jan 2017 04:59:40 -0000

Hi,

I tend to view this positively, but I feel you could give a few more data, in
particular to help answering the questions you raise below.

> On Jan 13, 2017, at 5:54 PM, Quentin Colombet via llvm-dev <llvm-dev at
lists.llvm.org> wrote:
>
> Hi all,
>
> Now, four backends (if I am counting right: X86, ARM, AArch64, AMDGPU) are
working on bringing-up GlobalISel, I’d like to switch the default of the
LLVM_BUILD_GLOBAL_ISEL variable in CMake, such that the framework gets built by
default.
>
> ** Impact of Flipping the Switch **
>
> * Upsides *
>
> For people developing on GlobalISel, it will:
> - Simplify the CMake command to type :)
> - Build/Test GlobalISel on all the LLVM bots
>
> For people not developing on GlobalISel, it will:
> - Test that GlobalISel still works with your changes (make check will test
that for you)
> - Allow you to play with it!
>
> Basically flipping the default CMake setting will give access to all the
ISel schemes that we have in LLVM, instead of just SDISel and FastISel.
>
> * Downsides *
>
> For people developing on GlobalISel, it will:
> - Leave the status as it is now, meaning that mainly only people working on
GlobalISel look at the failures of GlobalISel specific bots
>
> For people not developing for GlobalISel, it will:
> - Increase the compile time since the GlobalISel framework and the related
target specific parts will have to be built

How long does it take to run `make check` from a clean LLVM build with and
without GlobalISel enabled?

> - Increase the size of the binary (depending on what backend you pull)

How large is llc with only X86 and AArch64 configured in, with  and without
GlobalISel enabled?

Thanks,

Mehdi