<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">This patch broke a whole bunch of tests. For example on Grawp-PIC:<div><br></div><div><span class="Apple-style-span" style="font-family: monospace; ">New Test Failures:<br>test/CodeGen/ARM/2008-11-19-ScavengerAssert.ll [DEJAGNU]<br>test/CodeGen/X86/2006-05-02-InstrSched2.ll [DEJAGNU]<br>test/CodeGen/X86/2008-05-21-CoalescerBug.ll for PR2343 [DEJAGNU]<br>test/CodeGen/X86/stack-color-with-reg-2.ll [DEJAGNU]<br>test/CodeGen/X86/twoaddr-pass-sink.ll [DEJAGNU]<br>Applications/oggenc/oggenc [LLC compile, ] <br>Benchmarks/ASCI_Purple/SMG2000/smg2000 [LLC compile, ] <br>Benchmarks/mafft/pairlocalalign [LLC compile, ] <br>Benchmarks/MallocBench/gs/gs [LLC compile, ] <br>Benchmarks/mediabench/mpeg2/mpeg2dec/mpeg2decode [LLC compile, ] <br>Benchmarks/MiBench/consumer-jpeg/consumer-jpeg [LLC compile, ] <br>Benchmarks/MiBench/consumer-lame/consumer-lame [LLC compile, ] <br>Benchmarks/Misc/whetstone [LLC compile, ] <br>Benchmarks/Ptrdist/yacr2/yacr2 [LLC compile, ] <br>Nurbs/nurbs [LLC compile, ] <br>SPEC/CFP2006/433.milc/433.milc [LLC compile, ] <br>SPEC/CINT2000/176.gcc/176.gcc [LLC compile, ] <br>SPEC/CINT2000/254.gap/254.gap [LLC compile, ] <br>SPEC/CINT2006/403.gcc/403.gcc [LLC compile, ] </span></div><div><font class="Apple-style-span" face="monospace"><br></font></div><div><font class="Apple-style-span" face="monospace">I'll back it out for now. Sanjiv, please investigate. Thanks.</font></div><div><font class="Apple-style-span" face="monospace"><br></font></div><div><font class="Apple-style-span" face="monospace">Evan</font></div><div><font class="Apple-style-span" face="monospace"><br></font><div><div>On Jul 7, 2009, at 1:04 AM, Sanjiv Gupta wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Author: sgupta<br>Date: Tue Jul  7 03:04:51 2009<br>New Revision: 74898<br><br>URL: <a href="http://llvm.org/viewvc/llvm-project?rev=74898&view=rev">http://llvm.org/viewvc/llvm-project?rev=74898&view=rev</a><br>Log:<br> if the terminator is a branch depending upon the side effects of a<br> previous cmp; a copy can not be inserted here if the copy insn also has<br> side effects. We don't have access to the attributes of copy insn here;<br> so just play safe by finding a safe locations for branch terminators.<br><br>Modified:<br>    llvm/trunk/lib/CodeGen/PHIElimination.cpp<br><br>Modified: llvm/trunk/lib/CodeGen/PHIElimination.cpp<br>URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/PHIElimination.cpp?rev=74898&r1=74897&r2=74898&view=diff">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/PHIElimination.cpp?rev=74898&r1=74897&r2=74898&view=diff</a><br><br>==============================================================================<br>--- llvm/trunk/lib/CodeGen/PHIElimination.cpp (original)<br>+++ llvm/trunk/lib/CodeGen/PHIElimination.cpp Tue Jul  7 03:04:51 2009<br>@@ -169,9 +169,15 @@<br>     return MBB.begin();<br><br>   // If this basic block does not contain an invoke, then control flow always<br>-  // reaches the end of it, so place the copy there.  The logic below works in<br>-  // this case too, but is more expensive.<br>-  if (!isa<InvokeInst>(MBB.getBasicBlock()->getTerminator()))<br>+  // reaches the end of it, so place the copy there.<br>+  // If the terminator is a branch depending upon the side effects of a <br>+  // previous cmp; a copy can not be inserted here if the copy insn also<br>+  // side effects. We don't have access to the attributes of copy insn here;<br>+  // so just play safe by finding a safe locations for branch terminators. <br>+  //<br>+  // The logic below works in this case too, but is more expensive.<br>+  const TerminatorInst *TermInst = MBB.getBasicBlock()->getTerminator();<br>+  if (!(isa<InvokeInst>(TermInst) || isa<BranchInst>(TermInst)))<br>     return MBB.getFirstTerminator();<br><br>   // Discover any definition/uses in this basic block.<br><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></div></blockquote></div><br></div></body></html>