+ If + /// this is the case, LLVM will try to sink shufflevectors implementing a + /// splat before CodeGen to permit the better output. LGTM, except that I would omit the line above. The shufflevector sinking is one example of a usage of this hook. http://llvm-reviews.chandlerc.com/D2816