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
95

Does it require "REQUIRES: asserts" ?

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

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