This is an archive of the discontinued LLVM Phabricator instance.

[Subtarget] Merge ProcSched and ProcDesc arrays in MCSubtargetInfo into a single array.
ClosedPublic

Authored by craig.topper on Mar 4 2019, 4:53 PM.

Details

Summary

These arrays are both keyed by CPU name and go into the same tablegenerated file. Merge them so we only need to store keys once.

This also removes a weird space saving quirk where we used the ProcDesc.size() to create to build an ArrayRef for ProcSched.

Diff Detail

Event Timeline

craig.topper created this revision.Mar 4 2019, 4:53 PM
andreadb accepted this revision.Mar 5 2019, 4:34 AM

LGTM. Very nice refactoring.

utils/TableGen/SubtargetEmitter.cpp
1422

Macro function DBGFIELD(x) is only used from code generated by method EmitSchedClassTables. We can probably undef DBGFIELD after the call to EmitSchedClassTables and before the call to EmitProcessorModels.

This revision is now accepted and ready to land.Mar 5 2019, 4:34 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMar 5 2019, 10:54 AM