This is an archive of the discontinued LLVM Phabricator instance.

[DFAPacketizer] Use DFAEmitter. NFC.
ClosedPublic

Authored by jmolloy on Oct 15 2019, 7:55 AM.

Details

Summary

This is a NFC change that removes the NFA->DFA construction and emission logic from DFAPacketizerEmitter and instead uses the generic DFAEmitter logic. This allows DFAPacketizer to use the Automaton class from Support and remove a bunch of logic there too.

After this patch, DFAPacketizer is mostly logic for grepping Itineraries and collecting functional units, with no state machine logic. This will allow us to modernize by removing the 16-functional-unit limit and supporting non-itinerary functional units. This is all for followup patches.

Diff Detail

Event Timeline

jmolloy created this revision.Oct 15 2019, 7:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 15 2019, 7:55 AM
ThomasRaoux accepted this revision.Oct 16 2019, 5:27 PM

Awesome cleanup!

llvm/include/llvm/CodeGen/DFAPacketizer.h
81

Should it be Automaton<DFAInput> for consistency?

This revision is now accepted and ready to land.Oct 16 2019, 5:27 PM

Thanks Thomas! Done.

This revision was automatically updated to reflect the committed changes.