summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2013-12-28 21:56:57 +0000
committerAndrew Trick <atrick@apple.com>2013-12-28 21:56:57 +0000
commitd14d7c20f52c8817d483785750050017177d2673 (patch)
tree84f6657ce855dd456745e25f9a1787b665011475 /llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
parent6b104f8b9e66511073f6d528c6ddfd04db54ac68 (diff)
downloadbcm5719-llvm-d14d7c20f52c8817d483785750050017177d2673.tar.gz
bcm5719-llvm-d14d7c20f52c8817d483785750050017177d2673.zip
Add a PostMachineScheduler pass with generic implementation.
PostGenericScheduler uses either the new machine model or the hazard checker for top-down scheduling. Most of the infrastructure for PreRA machine scheduling is reused. With a some tuning, this should allow MachineScheduler to be default for all ARM targets, including cortex-A9, using the new machine model. Likewise, with additional tuning, it should be able to replace PostRAScheduler for all targets. The PostMachineScheduler pass does not currently run the AntiDepBreaker. There is less need for it on targets that are already running preRA MachineScheduler. I want to prove it's necessary before committing to the maintenance burden. The PostMachineScheduler also currently removes kill flags and adds them all back later. This is a bit ridiculous. I'd prefer passes to directly use a liveness utility than rely on flags. A test case that enables this scheduler will be included in a subsequent checkin that updates the A9 model. llvm-svn: 198122
Diffstat (limited to 'llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud