Add -O switch and add SLPVectorizer/BasicAliasAnalysis under it.
Change pass order to more closely match Clang's.
Add patch to LLVM 3.3 with enhancements for vectorizing tuples.
The patch contains functionality and tests backported from
SLPVectorizer changes added to LLVM 3.5.0.
Merge pull request #6271 from ArchRobison/adr/slpvector

Enable SLPVectorizer and make it work for tuples