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 323827e8d0
commit 83593f4167
1 changed files with 3 additions and 0 deletions

View File

@ -5439,6 +5439,9 @@ void SelectionDAGLowering::visitInlineAsm(CallSite CS) {
} }
setValue(CS.getInstruction(), Val); 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; std::vector<std::pair<SDValue, Value*> > StoresToEmit;