summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86InstrInfo.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2014-06-04 07:06:18 +0000
committerAndrew Trick <atrick@apple.com>2014-06-04 07:06:18 +0000
commit3ccf71d4d6bd91a225a6abb0c6df12e672491769 (patch)
treeb15c0e4915b53a67f22e94023d6b1cd8c482b54a /llvm/lib/Target/X86/X86InstrInfo.cpp
parent6f8e6b108b3899bdf9a92c2ddd9ef792e4253d40 (diff)
downloadbcm5719-llvm-3ccf71d4d6bd91a225a6abb0c6df12e672491769.tar.gz
bcm5719-llvm-3ccf71d4d6bd91a225a6abb0c6df12e672491769.zip
Move GenericScheduler and PostGenericScheduler into a header.
These were not exposed previously because I didn't want out-of-tree targets to be too dependent on their internals. They can be reused for a very wide variety of processors with casual scheduling needs without exposing the classes by instead using hooks defined in MachineSchedPolicy (we can add more if needed). When targets are more aggressively tuned or want to provide custom heuristics, they can define their own MachineSchedStrategy. I tend to think this is better once you start customizing heuristics because you can copy over only what you need. I don't think that layering heuristics generally works well. However, Arch64 targets now want to reuse the Generic scheduling logic but also provide extensions. I don't see much harm in exposing the Generic scheduling classes with a major caveat: these scheduling strategies may change in the future without validating performance on less mainstream processors. If you want to be immune from changes, just define your own MachineSchedStrategy. llvm-svn: 210166
Diffstat (limited to 'llvm/lib/Target/X86/X86InstrInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud