GlobalISel BoF follow-up

Hi all,

At the EuroLLVM BoF people asked where the design discussions around
GlobalISel take place. Naturally, a lot of them take place at Apple,
since they have the highest density of co-located GlobalISel devs, but
we also have some in Phab.

For those of you that are interested, please have a look at the
following topics - discussions are progressing rather slowly and we
definitely wouldn't mind some more involvement from the community:

Legalization of non-power-of-2 types:
https://reviews.llvm.org/D30529

TableGen for the instruction selector (last pass in the GlobalISel pipeline):
https://reviews.llvm.org/D31418 and the rest of its stack

We have also set up a sort of scratchpad document here:

At the moment it contains mostly notes from the BoF and a few other
emails. The intention is to centralize any hot topics related to
GlobalISel there, so people can keep track of what the current status
is and what problems are being tackled at the moment in the community.

If people feel it would be useful, we could also try to send a
weekly-ish email listing the pending reviews and any points that need
coordination. We're open to any suggestions on how we can communicate
better.

Thanks,
Diana (with inputs from Kristof and Quentin)

Hi again,

If people feel it would be useful, we could also try to send a
weekly-ish email listing the pending reviews and any points that need
coordination. We're open to any suggestions on how we can communicate
better.

Nobody said anything about this, but with people coming back from
spring break these days it's probably a good time to sync again.
Kristof and I have been trying to keep the scratchpad document here
[1] up to date, but I'll try to summarize things on the mailing list
as well:

We still have a few bugs open that we should fix or at least discuss
before turning GlobalISel on by default at O0 for AArch64:
* PR32560 - A crash in regbank select [2]
* PR32550 - Floating point values moving a lot through GPRs [3]
* PR32561 - Improve placement of constants [4]
* Optional - improve handling of switch statements (I think we don't
even have a bug open for this, but it has been brought up)

Unrelated to O0, here are some pending patches (at least that I'm aware of):
* Legalization of non-power-of-2 types [5] - this hasn't seen any
activity in a while, but it would be nice to move forward with it
* TableGen for the instruction selector: support for predicates [6] -
needs a rebase, would be very useful for ARM
* Formatting TableGen'erated files [7] - this is an older patch and it
doesn't really need to be limited only to GlobalISel, it looks like it
might be a good idea for TableGen in general

Also, Eric Cristopher has started a discussion on the GlobalISel accessors [8].
If I missed anything, please feel free to bring it up!

Cheers,
Diana

[1] Global ISel Status - Google Docs
[2] http://bugs.llvm.org/show_bug.cgi?id=32560
[3] http://bugs.llvm.org/show_bug.cgi?id=32550
[4] http://bugs.llvm.org/show_bug.cgi?id=32561
[5] https://reviews.llvm.org/D30529
[6] https://reviews.llvm.org/D31418
[7] https://reviews.llvm.org/D30299
[8] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170410/445369.html

Hi again,

If people feel it would be useful, we could also try to send a
weekly-ish email listing the pending reviews and any points that need
coordination. We're open to any suggestions on how we can communicate
better.

Nobody said anything about this, but with people coming back from
spring break these days it's probably a good time to sync again.
Kristof and I have been trying to keep the scratchpad document here
[1] up to date, but I'll try to summarize things on the mailing list
as well:

We still have a few bugs open that we should fix or at least discuss
before turning GlobalISel on by default at O0 for AArch64:
* PR32560 - A crash in regbank select [2]
* PR32550 - Floating point values moving a lot through GPRs [3]
* PR32561 - Improve placement of constants [4]
* Optional - improve handling of switch statements (I think we don't
even have a bug open for this, but it has been brought up)

Unrelated to O0, here are some pending patches (at least that I'm aware of):
* Legalization of non-power-of-2 types [5] - this hasn't seen any
activity in a while, but it would be nice to move forward with it
* TableGen for the instruction selector: support for predicates [6] -
needs a rebase, would be very useful for ARM

I committed this one over the weekend.

Hi Diana,

Thanks for putting that together. It is much easier to follow what is going on.

Hi again,

If people feel it would be useful, we could also try to send a
weekly-ish email listing the pending reviews and any points that need
coordination. We’re open to any suggestions on how we can communicate
better.

Nobody said anything about this, but with people coming back from
spring break these days it’s probably a good time to sync again.
Kristof and I have been trying to keep the scratchpad document here
[1] up to date, but I’ll try to summarize things on the mailing list
as well:

We still have a few bugs open that we should fix or at least discuss
before turning GlobalISel on by default at O0 for AArch64:

  • PR32560 - A crash in regbank select [2]
  • PR32550 - Floating point values moving a lot through GPRs [3]
  • PR32561 - Improve placement of constants [4]
  • Optional - improve handling of switch statements (I think we don’t
    even have a bug open for this, but it has been brought up)

Unrelated to O0, here are some pending patches (at least that I’m aware of):

  • Legalization of non-power-of-2 types [5] - this hasn’t seen any
    activity in a while, but it would be nice to move forward with it
  • TableGen for the instruction selector: support for predicates [6] -
    needs a rebase, would be very useful for ARM
  • Formatting TableGen’erated files [7] - this is an older patch and it
    doesn’t really need to be limited only to GlobalISel, it looks like it
    might be a good idea for TableGen in general

Also, Eric Cristopher has started a discussion on the GlobalISel accessors [8].
If I missed anything, please feel free to bring it up!

Cheers,
Diana

[1] https://goo.gl/IS2Bdw
[2] http://bugs.llvm.org/show_bug.cgi?id=32560
[3] http://bugs.llvm.org/show_bug.cgi?id=32550
[4] http://bugs.llvm.org/show_bug.cgi?id=32561
[5] https://reviews.llvm.org/D30529
[6] https://reviews.llvm.org/D31418
[7] https://reviews.llvm.org/D30299
[8] http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170410/445369.html

Just done that in r301841.

Cheers,
-Quentin