Bug ID: 37131
           Summary: [X86] Review current scheduler classes to minimise
                    need for InstRW overrides
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
        Depends on: 32857, 35608, 36726, 36911, 36924, 36930, 36931
            Blocks: 32325, 35548

Many models are making very poor use of the default scheduler classes, with
many using InstrRW, resulting in cases such as:

1 - A default class isn't used at all, and all its instructions use InstrRW -
we should be able to at least move some instructions to the default, or split
the class to match as many instructions as possible across all targets.

2 - An instruction uses InstrRW but in fact matches the default class values
(Bug #35548).

3 - Some targets just don't need to use some scheduler classes at all (Bug

This patch is to track possible splits to the classes that would help us move
away from unnecessary InstRW usage and make the scheduler models more easily

Referenced Bugs:
[Bug 32325] [META][X86] Improve implementation and use of X86 scheduler models
[Bug 32857] Add scheduler classes for vector masked load/store operations
[Bug 35548] [X86] Warn if a scheduling instrs/instregex entry doesn't alter the
default schedule
[Bug 35608] [X86] Remove Schedule classes from models that don't use them
[Bug 36726] [X86][SSE] Split gpr/vector WriteMove, WriteLoad, WriteStore
scheduler classes
[Bug 36911] [X86] Add scheduler classes that account for GPR<->XMM transfers
[Bug 36924] [X86] Split vector schedule classes by vector width only as
[Bug 36930] [X86] Split WriteIDiv into 8/16/32/64 implementations
[Bug 36931] [X86] Split WriteIMul into 8/16/32/64 implementations
You are receiving this mail because:
You are on the CC list for the bug.
llvm-bugs mailing list

Reply via email to