Set the default PPC node scheduling preference to ILP (for the embedded cores).

The 440 and A2 cores have detailed itineraries, and this allows them to be
fully used to maximize throughput.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153845 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hal Finkel 2012-04-01 19:23:08 +00:00
parent 800125f3a3
commit 3f31d492a5
2 changed files with 10 additions and 0 deletions

View File

@ -5837,3 +5837,12 @@ EVT PPCTargetLowering::getOptimalMemOpType(uint64_t Size,
return MVT::i32;
}
}
Sched::Preference PPCTargetLowering::getSchedulingPreference(SDNode *N) const {
unsigned Directive = PPCSubTarget.getDarwinDirective();
if (Directive == PPC::DIR_440 || Directive == PPC::DIR_A2)
return Sched::ILP;
return TargetLowering::getSchedulingPreference(N);
}

View File

@ -281,6 +281,7 @@ namespace llvm {
bool SelectAddressRegImmShift(SDValue N, SDValue &Disp, SDValue &Base,
SelectionDAG &DAG) const;
Sched::Preference getSchedulingPreference(SDNode *N) const;
/// LowerOperation - Provide custom lowering hooks for some operations.
///