DELTA 303231 2820504 974 SVN»`Όp  Ε €φeΔ{LongCall : SubtargetFeature<"longcall", "UseLongCalls", "true", "Always use indirect callsENDREP DELTA 304759 1425 1396 SVN† † † † † † ƒ…Ά<€S‰c…Ά-€‚3ά[…ΐ ƒuseLongCalls() && !(CS && CS->isMustTailCall())) isTailCall = false; else// When long calls (i.e. indirect calls) are always used, calls are always // made via function pointer. If we have a function name, first translate it // into a pointer. if (Subtarget.useLongCalls() && isa(Callee) && !isTailCall) Callee = LowerGlobalAddress(Callee, DAGŒΐ† †  ƒ€ƒ†œeƒ // area, and parameter passing area. On ELFv1, the linkage area is 48 bytes // reserved space for [SP][CR][LR][2 x unused][TOC]; on ELFv2, the linkage // area is 32 bytes reserved space for [SP][CR][LR][TOC]. unsigned LinkageSize = Subtarget.getFrameLowering()->getLinkageSize(); unsigned NumBytes = LinkageSize; unsigned GPR_idx = 0, FPR_idx = 0, VR_idx = 0; unsigned &QFPR_idx = FPR_idx; st’ΰ† †  ƒ€ƒ†œeƒnsigned int ShuffleKind = isLittleEndian ? 2 : 0; if (PPC::isVPKUWUMShuffleMask(SVOp, ShuffleKind, DAG) || PPC::isVPKUHUMShuffleMask(SVOp, ShuffleKind, DAG) || PPC::isVSLDOIShuffleMask(SVOp, ShuffleKind, DAG) != -1 || PPC::isVMRGLShuffleMask(SVOp, 1, ShuffleKind, DAG) || PPC::isVMRGLShuffleMask(SVOp, 2, ShuffleKind, DAG) || PPC::isVMRGLShuffleMask(SVOp, 4, ShuffleKind, DAG) ||™€„΄x„Έ ƒ€ƒ„΄xƒt // use them because they might have users outside of the cluster of // promoted nodes. if (isa(Inputs[i])) continue; SDValue InSrc = Inputs[i].getOperand(0); if (Inputs[i].getValueType() == N->getValueType(0)) DAG.ReplaceAllUsesOfValueWith(Inputs[i], InSrc); else if (N->getOpcode() == ISD::SIGN_EXTEND) DAG.ReplaceAllUsesOfValueWith(Inputs[i], ENDREP DELTA 303231 2907680 540 SVNΎ|Ώ  ˜ަ˜u UseLongCallsENDREP DELTA 303231 2908252 364 SVNΡ&ΡpE—p“­—n±Œ.ΔxD bool UseLongCalls bool useLongCalls() const { return UseLongCallsENDREP DELTA 303233 217155 4586 SVN† † w †€v‚†œcvdef mlongcall: Flag<["-"], "mlongcall">, Group; def mno_longcall : Flag<["-"], "mno-longcall† ‚ΧE‚Ψ` €‚ΧEltivec : Flag<["-"], "maltivec">, Alias; def mno_altivec : Flag<["-"], "mno-altivec">, Alias; def mvx : Flag<["-"], "mvx">, Group