Commit Graph

105 Commits

Author SHA1 Message Date
Nate Begeman 265363061e 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.

llvm-svn: 110734
2010-08-10 21:38:12 +00:00
Duncan Sands 19d0b47b1f 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.

llvm-svn: 96344
2010-02-16 11:11:14 +00:00
Chris Lattner b22423c89a fix some problems handling large vectors reported in PR6230
llvm-svn: 95616
2010-02-08 23:56:03 +00:00
Chris Lattner 841af4f03d reduce indentation
llvm-svn: 92684
2010-01-05 05:42:08 +00:00
Chris Lattner ec97a90221 split vector stuff out to InstCombineVectorOps.cpp
llvm-svn: 92683
2010-01-05 05:36:20 +00:00