Cortex-A9 instruction-level scheduling machine model.
authorAndrew Trick <atrick@apple.com>
Fri, 14 Sep 2012 18:31:58 +0000 (18:31 +0000)
committerAndrew Trick <atrick@apple.com>
Fri, 14 Sep 2012 18:31:58 +0000 (18:31 +0000)
commitdcf31ed4139df19b14e599adaaa4f09901553ede
treeeb6e470426b1c82b899f56b880fd03497eee673e
parenta8a2b99aec8fb2e9cb5c5433a59d836e290e4b84
Cortex-A9 instruction-level scheduling machine model.

This models the A9 processor at the level of instruction operands, as
opposed to the itinerary, which models each operation at the level of
pipeline stages.

The two primary motivations are:

1) Allow MachineScheduler to model A9 as an out-of-order processor. It
can now distinguish between hazards that force interlocking vs.
buffered resources.

2) Reduce long-term maintenance by allowing the itinerary and target
hooks to eventually be removed. Note that almost all of the complexity
in the new model exists to model instruction variants, which the
itinerary cannot handle. Instead the scheduler previously relied on
processor-specific target hooks which are incomplete and buggy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163921 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMScheduleA9.td