[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