mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-16 02:57:52 +00:00
Commit CodeGenPrepare.cpp changes which was accidentially left out of 56526.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56549 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
692bf6b85e
commit
a7e6146688
@ -927,23 +927,6 @@ bool CodeGenPrepare::OptimizeLoadStoreInst(Instruction *LdStInst, Value *Addr,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// hasInlineAsmMemConstraint - Return true if the inline asm instruction being
|
|
||||||
/// processed uses a memory 'm' constraint.
|
|
||||||
static bool
|
|
||||||
hasInlineAsmMemConstraint(std::vector<InlineAsm::ConstraintInfo> &CInfos,
|
|
||||||
const TargetLowering *TLI) {
|
|
||||||
for (unsigned i = 0, e = CInfos.size(); i != e; ++i) {
|
|
||||||
InlineAsm::ConstraintInfo &CI = CInfos[i];
|
|
||||||
for (unsigned j = 0, ee = CI.Codes.size(); j != ee; ++j) {
|
|
||||||
TargetLowering::ConstraintType CType = TLI->getConstraintType(CI.Codes[j]);
|
|
||||||
if (CType == TargetLowering::C_Memory)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// OptimizeInlineAsmInst - If there are any memory operands, use
|
/// OptimizeInlineAsmInst - If there are any memory operands, use
|
||||||
/// OptimizeLoadStoreInt to sink their address computing into the block when
|
/// OptimizeLoadStoreInt to sink their address computing into the block when
|
||||||
/// possible / profitable.
|
/// possible / profitable.
|
||||||
@ -980,8 +963,8 @@ bool CodeGenPrepare::OptimizeInlineAsmInst(Instruction *I, CallSite CS,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Compute the constraint code and ConstraintType to use.
|
// Compute the constraint code and ConstraintType to use.
|
||||||
bool hasMemory = hasInlineAsmMemConstraint(ConstraintInfos, TLI);
|
TLI->ComputeConstraintToUse(OpInfo, SDValue(),
|
||||||
TLI->ComputeConstraintToUse(OpInfo, SDValue(), hasMemory);
|
OpInfo.ConstraintType == TargetLowering::C_Memory);
|
||||||
|
|
||||||
if (OpInfo.ConstraintType == TargetLowering::C_Memory &&
|
if (OpInfo.ConstraintType == TargetLowering::C_Memory &&
|
||||||
OpInfo.isIndirect) {
|
OpInfo.isIndirect) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user