History log of /external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
081c29b25696006bb72a7ac1035e05f8f935513f 18-Jan-2013 Craig Topper <craig.topper@gmail.com> Check for less than 0 in shuffle mask instead of -1. It's more consistent with other code related to shuffles and easier to implement in compiled code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
37d093f0b0e4b4d1c49efbf2bdcc9827527e3b9f 18-Jan-2013 Craig Topper <craig.topper@gmail.com> Remove trailing whitespace. Remove new lines between closing brace and 'else'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172784 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
83d585383345b84ae4a9590e97135f95ae39406b 16-Jan-2013 Nadav Rotem <nrotem@apple.com> Teach InstCombine to optimize extract of a value from a vector add operation with a constant zero.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
4932bbe20c4b96552dcab332503b80ff3b56ad93 16-Oct-2012 Michael Gottesman <mgottesman@apple.com> [InstCombine] Teach InstCombine how to handle an obfuscated splat.

An obfuscated splat is where the frontend poorly generates code for a splat
using several different shuffles to create the splat, i.e.,

%A = load <4 x float>* %in_ptr, align 16
%B = shufflevector <4 x float> %A, <4 x float> undef, <4 x i32> <i32 0, i32 0, i32 undef, i32 undef>
%C = shufflevector <4 x float> %B, <4 x float> %A, <4 x i32> <i32 0, i32 1, i32 4, i32 undef>
%D = shufflevector <4 x float> %C, <4 x float> %A, <4 x i32> <i32 0, i32 1, i32 2, i32 4>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166061 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
a78fa8cc2dd6d2ffe5e4fe605f38aae7b3d2fb7a 27-Jan-2012 Chris Lattner <sabre@nondot.org> continue making the world safe for ConstantDataVector. At this point,
we should (theoretically optimize and codegen ConstantDataVector as well
as ConstantVector.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
230cdab2205d051cc11c565b69ca8c2106904a76 26-Jan-2012 Chris Lattner <sabre@nondot.org> some general cleanup, using new methods and tidying up old code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
bec2d03c4d774e67ebc586b3a00792d996f26140 24-Jan-2012 Chris Lattner <sabre@nondot.org> basic instcombine support for CDS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
8d992f5c2c90ebc8963679de51f461dc5d54fae1 21-Oct-2011 Eli Friedman <eli.friedman@gmail.com> Minor simplification: use ShuffleVectorInst::getMaskValue instead of a more expensive helper.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
d2822e7572e75287db66acb14b2d988a80faebdd 21-Oct-2011 Eli Friedman <eli.friedman@gmail.com> Extend instcombine's shufflevector simplification to handle more cases where the input and output vectors have different sizes. Patch by Xiaoyi Guo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142671 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
db125cfaf57cc83e7dd7453de2d509bc8efd0e5e 18-Jul-2011 Chris Lattner <sabre@nondot.org> land David Blaikie's patch to de-constify Type, with a few tweaks.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
0ff8a4fa35db853dfc3dbe54535aa326d8e742a2 01-Apr-2011 Nadav Rotem <nadav.rotem@intel.com> Instcombile optimization: extractelement(cast) -> cast(extractelement)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
1347623aaf25b7fe6486479353fc87bd7541a5f7 19-Feb-2011 Eli Friedman <eli.friedman@gmail.com> PR9218: SimplifyDemandedVectorElts can return a non-null value that is not
the instruction passed in. Make sure to account for this correctly, instead
of looping infinitely.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
7a874ddda037349184fbeb22838cc11a1a9bb78f 01-Dec-2010 Jay Foad <jay.foad@gmail.com> PR5207: Rename overloaded APInt methods set(), clear(), flip() to
setAllBits(), setBit(unsigned), etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120564 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
db1da8ed42cbe50945acfaca514864723999150a 30-Oct-2010 Bob Wilson <bob.wilson@apple.com> Clean up indentation and other whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
09fd64644d5da2dacc0916790082ac0dd5d9696d 30-Oct-2010 Bob Wilson <bob.wilson@apple.com> Remove trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117727 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
f0b48f836e85e4e9ae3b5f94c47500d40e3dc16e 30-Oct-2010 Bob Wilson <bob.wilson@apple.com> Fix 80-column violation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
822cb58d087ab67804037807e130273481b86137 30-Oct-2010 Bob Wilson <bob.wilson@apple.com> Change instcombine's getShuffleMask to represent undef with negative values.
This code had previously used 2*N, where N is the mask length, to represent
undef. That is not safe because the shufflevector operands may have more
than N elements -- they don't have to match the result type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117721 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
4cac5facc3a95a81ffa2c85baae001a7c509146c 30-Oct-2010 Bob Wilson <bob.wilson@apple.com> Make instcombine a little more aggressive in combining vector shuffles.
Allow splats even if they don't match either of the original shuffles,
possibly due to undef entries in the shuffles masks. Radar 8597790.
Also fix some 80-column violations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
68c23f861694f7b06df2ce39ced01d1d39fc5809 18-Aug-2010 Eric Christopher <echristo@apple.com> Temporarily revert r110987 as it's causing some miscompares in
vector heavy code. I'll re-enable when we've tracked down the problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
7f1f4089a142e4f0081ac25699bf682a68247a35 13-Aug-2010 Nate Begeman <natebegeman@mac.com> Reapply this transformation now that it is passing the external test which it previously failed.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
74862789001b62350fa1a316150fdab04689a0bc 12-Aug-2010 Eric Christopher <echristo@apple.com> Temporarily revert 110737 and 110734, they were causing failures
in an external testsuite.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
95743d8748a85bbb03aff3b3baae728c138acbab 10-Aug-2010 Nate Begeman <natebegeman@mac.com> Add the minimal amount of smarts necessary to instcombine of shufflevectors to recognize
patterns generated by clang for transpose of a matrix in generic vectors. This is made
of two parts:

1) Propagating vector extracts of hi/lo half into their users
2) Recognizing an insertion of even elements followed by the odd elements as an unpack.

Testcase to come, but this shrinks the # of shuffle instructions generated on x86 from ~40 to the minimal 8.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110734 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
1df9859c40492511b8aa4321eb76496005d3b75b 16-Feb-2010 Duncan Sands <baldrick@free.fr> There are two ways of checking for a given type, for example isa<PointerType>(T)
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
8609fda0f7e4446de85f882755601ffcbd540324 09-Feb-2010 Chris Lattner <sabre@nondot.org> fix some problems handling large vectors reported in PR6230


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95616 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
d5da27186350345794b82f036d75f6d1e9bfbbbd 05-Jan-2010 Chris Lattner <sabre@nondot.org> reduce indentation


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
b8a5cecd6bc74d6c1c256263f857f79f383e53bd 05-Jan-2010 Chris Lattner <sabre@nondot.org> split vector stuff out to InstCombineVectorOps.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp