[llvm-dev] what can cause a "CPU table is not sorted" assertion

Meador Inge via llvm-dev llvm-dev at lists.llvm.org
Fri Oct 16 05:38:11 PDT 2015


On Thu, Oct 15, 2015 at 8:35 PM, Tim Northover via llvm-dev
<llvm-dev at lists.llvm.org> wrote:

>> def : ProcessorModel<"generic", MyTargetModel, [FeatureDiv, FeatureMul]>;
>> def : ProcessorModel<"or1200",  MyTargetModel, [FeatureDiv, FeatureMul]>;
>
> Ah! I see the check is actually looking for a strict ordering. Could
> there be 2 CPUs defined with the same name?

That is the conclusion I came to as well.  I suspect that both "ProcessorModel"
and "Proc" commands are in the .td file.  Something like:

  def : Proc<"generic", [FeatureMul, FeatureDiv]>;
  def : Proc<"or1201",  [FeatureMul, FeatureDiv]>;
  def : ProcessorModel<"generic", MyTargetModel, [FeatureDiv, FeatureMul]>;
  def : ProcessorModel<"or1200",  MyTargetModel, [FeatureDiv, FeatureMul]>;

where really only the ProcessorModel ones should be used after adding the
scheduling model.

-- Meador


More information about the llvm-dev mailing list