Get the cached subtarget off the MachineFunction rather than

inquiring for a new one from the TargetMachine.

llvm-svn: 230000
This commit is contained in:
Eric Christopher 2015-02-20 08:39:06 +00:00
parent 22b2ad265f
commit 3ee30d0607
2 changed files with 5 additions and 6 deletions

View File

@ -28,15 +28,14 @@ SDValue AArch64SelectionDAGInfo::EmitTargetCodeForMemset(
// Check to see if there is a specialized entry-point for memory zeroing.
ConstantSDNode *V = dyn_cast<ConstantSDNode>(Src);
ConstantSDNode *SizeValue = dyn_cast<ConstantSDNode>(Size);
const AArch64Subtarget &STI =
DAG.getMachineFunction().getSubtarget<AArch64Subtarget>();
const char *bzeroEntry =
(V && V->isNullValue())
? DAG.getTarget().getSubtarget<AArch64Subtarget>().getBZeroEntry()
: nullptr;
(V && V->isNullValue()) ? STI.getBZeroEntry() : nullptr;
// For small size (< 256), it is not beneficial to use bzero
// instead of memset.
if (bzeroEntry && (!SizeValue || SizeValue->getZExtValue() > 256)) {
const AArch64TargetLowering &TLI =
*DAG.getTarget().getSubtarget<AArch64Subtarget>().getTargetLowering();
const AArch64TargetLowering &TLI = *STI.getTargetLowering();
EVT IntPtr = TLI.getPointerTy();
Type *IntPtrTy = getDataLayout()->getIntPtrType(*DAG.getContext());

View File

@ -59,7 +59,7 @@ MipsTargetStreamer &MipsAsmPrinter::getTargetStreamer() const {
}
bool MipsAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
Subtarget = &TM.getSubtarget<MipsSubtarget>();
Subtarget = &MF.getSubtarget<MipsSubtarget>();
// Initialize TargetLoweringObjectFile.
const_cast<TargetLoweringObjectFile &>(getObjFileLowering())