This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Fix sched model for tsv110
ClosedPublic

Authored by Allen on Aug 23 2022, 9:58 PM.

Details

Summary

Update three changes:

  1. Split the Load/Store resources into two, Ld0St and Ld1, since only one of them is capable of stores.
  2. Integer ADD and SUB instructions have different latencies and processor resource usage (pipeline) when they have a shift of zero vs. non-zero, refer to D8043
  3. The throughout of scalar DIV instruction.

Diff Detail

Event Timeline

Allen created this revision.Aug 23 2022, 9:58 PM
Allen requested review of this revision.Aug 23 2022, 9:58 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 23 2022, 9:58 PM

If there is only one load/store pipeline capable of stores, would it be better to split those two pipelines out?

def TSV110UnitLdSt   : ProcResource<1>; // Load or Store
def TSV110UnitLdOnly : ProcResource<1>; // Load
def TSV110UnitLd     : ProcResGroup<[TSV110UnitLdSt, TSV110UnitLdOnly]>; // Any load

(I'm not sure on the syntax or the names. Hopefully you understand the meaning.)

Allen updated this revision to Diff 455174.Aug 24 2022, 5:45 AM
Allen edited the summary of this revision. (Show Details)

Split the load/store capable into two pipelines out as there is only one store pipeline capable

Allen added a comment.Aug 24 2022, 5:46 AM

If there is only one load/store pipeline capable of stores, would it be better to split those two pipelines out?

def TSV110UnitLdSt   : ProcResource<1>; // Load or Store
def TSV110UnitLdOnly : ProcResource<1>; // Load
def TSV110UnitLd     : ProcResGroup<[TSV110UnitLdSt, TSV110UnitLdOnly]>; // Any load

(I'm not sure on the syntax or the names. Hopefully you understand the meaning.)

Thanks for your idea, apply your comment.

Allen edited the summary of this revision. (Show Details)Aug 24 2022, 6:10 PM
dmgreen accepted this revision.Aug 25 2022, 3:49 AM

Thanks. I don't know the details of the core super well, but the scheduling changes look like they make sense. With @bryanpkc this LGTM.

This revision is now accepted and ready to land.Aug 25 2022, 3:49 AM
This revision was automatically updated to reflect the committed changes.