[PostRA scheduling] Allow a target to do scheduling when it wants post RA.
authorJonas Paulsson <paulsson@linux.vnet.ibm.com>
Thu, 10 Dec 2015 09:10:07 +0000 (09:10 +0000)
committerJonas Paulsson <paulsson@linux.vnet.ibm.com>
Thu, 10 Dec 2015 09:10:07 +0000 (09:10 +0000)
commit92969682ea76a18c3a12d13f6618b16e8a4772c0
treef5b7af6367dc8f8ae440805d6c8c9dcb7345976c
parent342c5a64325164d0b4de0395f2a0df01979ba910
[PostRA scheduling] Allow a target to do scheduling when it wants post RA.

SystemZ needs to do its scheduling after branch relaxation, which can
only happen after block placement, and therefore the standard
PostRAScheduler point in the pass sequence is too early.

TargetMachine::targetSchedulesPostRAScheduling() is a new method that
signals on returning true that target will insert the final scheduling
pass on its own.

Reviewed by Hal Finkel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@255234 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetMachine.h
lib/CodeGen/Passes.cpp
lib/Target/SystemZ/SystemZTargetMachine.cpp
lib/Target/SystemZ/SystemZTargetMachine.h