Skip to content

Commit

Permalink
[X86] Remove ProcModel and ProcFeatures tablegen classes. Move all fe…
Browse files Browse the repository at this point in the history
…ature lists into a ProcessorFeatures class.

ProcFeatures was a class that just concatenated two feature lists together and gave it a name. We used it to inherit features between CPUs.

ProcModel took a two CPU feature lists and concatenated them before deferring to ProcessorModel. This was to allow inherited features and specific features to be passed to each CPU.

Both of these allowed for only very rigid CPU inheritance rules.

With this patch we now store all of the lists we were using for inheritance in one object and do any list oncatenation we want there. Then we just pass whatever list we want from this class into the ProcessorModel class for each CPU.

Hopefully this gives us more flexibility to build up feature lists in whatever ways we think make sense. Perhaps untangling ISA flags and tuning flags.

I've only touched the CPUs that were directly affected by the removal of the ProcModel and ProcFeatures classes. We should move more of the feature lists into ProcessorFeatures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355872 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
topperc committed Mar 11, 2019
1 parent 2377ecc commit d332bc4
Showing 1 changed file with 380 additions and 392 deletions.
Loading

0 comments on commit d332bc4

Please sign in to comment.