This is an archive of the discontinued LLVM Phabricator instance.

[globalisel][tablegen] Added instruction emission to the state-machine-based matcher.
ClosedPublic

Authored by dsanders on Jun 1 2017, 2:21 AM.

Details

Summary

This further improves the compile-time regressions that will be caused by a
re-commit of r303259.

Also added included preliminary work in preparation for the multi-insn emitter
since I needed to change the relevant part of the API for this patch anyway.

Depends on D33758

Event Timeline

dsanders created this revision.Jun 1 2017, 2:21 AM
ab accepted this revision.Jun 27 2017, 12:02 PM

This looks OK too.

This revision is now accepted and ready to land.Jun 27 2017, 12:02 PM
dsanders updated this revision to Diff 105162.Jul 4 2017, 6:12 AM

Rebase before commit

dsanders closed this revision.Jul 5 2017, 2:39 AM
chapuni added a subscriber: chapuni.Jul 5 2017, 3:03 AM
chapuni added inline comments.
test/TableGen/GlobalISelEmitter.td
110

Does it require "REQUIRES: asserts" ?

dsanders added inline comments.Jul 5 2017, 3:11 AM
test/TableGen/GlobalISelEmitter.td
110

No, this test doesn't actually execute the statement. It just checks that tablegen emits it.

There is an asserts issue elsewhere that I'm fixing at the moment though. The various release-mode buildbots are complaining about an unused variable.

I see. STATISTIC value, like NumPatternEmitted, is disabled with noop in -Asserts. See ADT/Statistic.h.

I see. STATISTIC value, like NumPatternEmitted, is disabled with noop in -Asserts. See ADT/Statistic.h.

I fixed that in the previous patch but it looks like I missed a bit in this one. I'll fix this.

I see. STATISTIC value, like NumPatternEmitted, is disabled with noop in -Asserts. See ADT/Statistic.h.

I fixed that in the previous patch but it looks like I missed a bit in this one. I'll fix this.

This should be fixed in r307146