Do not force asm's to be chained if they don't touch

memory and aren't volatile.  This was interfering with
good scheduling.

llvm-svn: 69008
This commit is contained in:
Dale Johannesen 2009-04-14 00:56:56 +00:00
parent 9f44d3148c
commit b423c8f205

View File

@ -5439,6 +5439,9 @@ void SelectionDAGLowering::visitInlineAsm(CallSite CS) {
}
setValue(CS.getInstruction(), Val);
// Don't need to use this as a chain in this case.
if (!IA->hasSideEffects() && !hasMemory && IndirectStoresToEmit.empty())
return;
}
std::vector<std::pair<SDValue, Value*> > StoresToEmit;