[llvm-branch-commits] [llvm-branch] r195602 - Merging r195476:
Bill Wendling
isanbard at gmail.com
Sun Nov 24 21:20:10 PST 2013
Author: void
Date: Sun Nov 24 23:20:10 2013
New Revision: 195602
URL: http://llvm.org/viewvc/llvm-project?rev=195602&view=rev
Log:
Merging r195476:
------------------------------------------------------------------------
r195476 | hliao | 2013-11-22 09:56:57 -0800 (Fri, 22 Nov 2013) | 6 lines
Fix PR18014
- When simplifying the mask generation for BLEND, check whether that mask is
also consumed by other non-BLEND insns. If true, skip that simplification.
------------------------------------------------------------------------
Added:
llvm/branches/release_34/test/CodeGen/X86/pr18014.ll
- copied unchanged from r195476, llvm/trunk/test/CodeGen/X86/pr18014.ll
Modified:
llvm/branches/release_34/ (props changed)
llvm/branches/release_34/lib/Target/X86/X86ISelLowering.cpp
Propchange: llvm/branches/release_34/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sun Nov 24 23:20:10 2013
@@ -1,3 +1,3 @@
/llvm/branches/Apple/Pertwee:110850,110961
/llvm/branches/type-system-rewrite:133420-134817
-/llvm/trunk:155241,195092-195094,195100,195102-195103,195118,195129,195138,195152,195156-195157,195161-195162,195193,195272,195317-195318,195333,195339,195355,195397-195399,195421,195423,195432,195439,195567,195599
+/llvm/trunk:155241,195092-195094,195100,195102-195103,195118,195129,195138,195152,195156-195157,195161-195162,195193,195272,195317-195318,195333,195339,195355,195397-195399,195421,195423,195432,195439,195476,195567,195599
Modified: llvm/branches/release_34/lib/Target/X86/X86ISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_34/lib/Target/X86/X86ISelLowering.cpp?rev=195602&r1=195601&r2=195602&view=diff
==============================================================================
--- llvm/branches/release_34/lib/Target/X86/X86ISelLowering.cpp (original)
+++ llvm/branches/release_34/lib/Target/X86/X86ISelLowering.cpp Sun Nov 24 23:20:10 2013
@@ -17007,6 +17007,15 @@ static SDValue PerformSELECTCombine(SDNo
if (BitWidth == 1)
return SDValue();
+ // Check all uses of that condition operand to check whether it will be
+ // consumed by non-BLEND instructions, which may depend on all bits are set
+ // properly.
+ for (SDNode::use_iterator I = Cond->use_begin(),
+ E = Cond->use_end(); I != E; ++I)
+ if (I->getOpcode() != ISD::VSELECT)
+ // TODO: Add other opcodes eventually lowered into BLEND.
+ return SDValue();
+
assert(BitWidth >= 8 && BitWidth <= 64 && "Invalid mask size");
APInt DemandedMask = APInt::getHighBitsSet(BitWidth, 1);
More information about the llvm-branch-commits
mailing list