]> granicus.if.org Git - llvm/commit
AMD znver1 Initial Scheduler model
authorCraig Topper <craig.topper@intel.com>
Wed, 19 Jul 2017 02:45:14 +0000 (02:45 +0000)
committerCraig Topper <craig.topper@intel.com>
Wed, 19 Jul 2017 02:45:14 +0000 (02:45 +0000)
commit1274e84ba29c019932da948ca307af88b79eeac8
tree858d78e9dc167b4f4502219a3da5ac68cded8ff4
parentf144b00e63febeabb0a75a46fecafcea8dfa25b2
AMD znver1 Initial Scheduler model

Summary:
This patch adds the following
1. Adds a skeleton scheduler model for AMD Znver1.
2. Introduces the znver1 execution units and pipes.
3. Caters the instructions based on the generic scheduler classes.
4. Further additions to the scheduler model with instruction itineraries will be carried out incrementally based on
        a. Instructions types
        b. Registers used
5. Since itineraries are not added based on instructions, throughput information are bound to change when incremental changes are added.
6. Scheduler testcases are modified accordingly to suit the new model.

Patch by Ganesh Gopalasubramanian. With minor formatting tweaks from me.

Reviewers: craig.topper, RKSimon

Subscribers: javed.absar, shivaram, ddibyend, vprasad

Differential Revision: https://reviews.llvm.org/D35293

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308411 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
lib/Target/X86/X86.td
lib/Target/X86/X86Schedule.td
lib/Target/X86/X86ScheduleZnver1.td [new file with mode: 0644]
test/CodeGen/X86/avx-schedule.ll
test/CodeGen/X86/avx2-schedule.ll
test/CodeGen/X86/bmi-schedule.ll
test/CodeGen/X86/bmi2-schedule.ll
test/CodeGen/X86/f16c-schedule.ll
test/CodeGen/X86/lea32-schedule.ll
test/CodeGen/X86/lea64-schedule.ll
test/CodeGen/X86/lzcnt-schedule.ll
test/CodeGen/X86/popcnt-schedule.ll
test/CodeGen/X86/sse-schedule.ll
test/CodeGen/X86/sse2-schedule.ll
test/CodeGen/X86/sse3-schedule.ll
test/CodeGen/X86/sse41-schedule.ll
test/CodeGen/X86/sse42-schedule.ll
test/CodeGen/X86/sse4a-schedule.ll
test/CodeGen/X86/ssse3-schedule.ll