This is an archive of the discontinued LLVM Phabricator instance.

[TableGen] Increase the number of supported decoder fix-ups.
ClosedPublic

Authored by sdesmalen on Jul 4 2018, 6:42 AM.

Details

Summary

The vast number of added instructions for SVE causes TableGen to fail with an assertion:

Assertion `Delta < 65536U && "disassembler decoding table too large!"'

This patch increases the number of supported decoder fix-ups.

Diff Detail

Repository
rL LLVM

Event Timeline

sdesmalen created this revision.Jul 4 2018, 6:42 AM
dmgreen accepted this revision.Jul 4 2018, 7:10 AM

Thanks Sander!

For context, we (in a slightly different part of Arm), started hitting this with the latest SVE patches combined with our downstream changes. I believe upstream llvm will start hitting the same problem once more 8.X/SVE patches are in.

I tested this out and it fixes our build, but will increase the size of the decode table. Looking through, I think this looks OK. Just some comments to update.

utils/TableGen/FixedLenDecoderEmitter.cpp
751 ↗(On Diff #154101)

24-bit!

774 ↗(On Diff #154101)

24-bit!

794 ↗(On Diff #154101)

24-bit!

837 ↗(On Diff #154101)

24-bit!

2209 ↗(On Diff #154101)

24-bit!

This revision is now accepted and ready to land.Jul 4 2018, 7:10 AM
sdesmalen marked 5 inline comments as done.Jul 5 2018, 3:44 AM
This revision was automatically updated to reflect the committed changes.