[llvm-commits] [llvm] r149478 - /llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Craig Topper craig.topper at gmail.com
Tue Jan 31 22:51:58 PST 2012


Author: ctopper
Date: Wed Feb  1 00:51:58 2012
New Revision: 149478

URL: http://llvm.org/viewvc/llvm-project?rev=149478&view=rev
Log:
Don't create VBROADCAST nodes if any nodes use the chain result from the load. Fixes PR11900.

Modified:
    llvm/trunk/lib/Target/X86/X86ISelLowering.cpp

Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=149478&r1=149477&r2=149478&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Wed Feb  1 00:51:58 2012
@@ -4997,6 +4997,10 @@
   if (!ISD::isNormalLoad(Ld.getNode()))
     return SDValue();
 
+  // Reject loads that have uses of the chain result
+  if (Ld->hasAnyUseOfValue(1))
+    return SDValue();
+
   bool Is256 = VT.getSizeInBits() == 256;
   bool Is128 = VT.getSizeInBits() == 128;
   unsigned ScalarSize = Ld.getValueType().getSizeInBits();





More information about the llvm-commits mailing list