Added more remarks to SLP pass, in particular "missed" optimization remarks.
Also proposed several tests for new functionality.
For reference you may look at: https://reviews.llvm.org/rL302811
| Paths 
 |  Differential  D38367  
[SLP] Added more missed optimiazation remarks ClosedPublic Authored by miloserd on Sep 28 2017, 9:14 AM. 
Details Summary Added more remarks to SLP pass, in particular "missed" optimization remarks. For reference you may look at: https://reviews.llvm.org/rL302811 
Diff Detail 
 Event TimelineComment Actions Thanks for working on this! I left a few comments. 
 miloserd added inline comments. Comment Actions I will look at the rest of the patch in more detail later unless Florian beats me to it. Thanks for tackling this! 
 Comment Actions Also by any chance, did you run this on some real code base? Some of these may trigger quite a bit and I want to make sure they are not on the top of the list. You can use opt-viewer/opt-stats.py to get a sense how frequently your remark is generated. Comment Actions 
 Yep, I did, it did not produced much noise on our applications. Comment Actions 
 Excellent, thanks! Comment Actions This looks great with some minor nits (go ahead and commit after fixing them). Thanks for your work! And sorry about the delay. 
 This revision is now accepted and ready to land.Nov 14 2017, 10:19 AM Comment Actions Thanks for your time, anemet. I've just fixed these issues you told.  Comment Actions 
 Sure, will do after lunch. Comment Actions 
 This does not apply cleanly for me. There are 4 rejects in SLPVectorizer.cpp. Can you please rebase the patch? Comment Actions 
 It was actually the Windows line breaks that confused arcanist. Just testing now before commit. Comment Actions I get two failures, can you please take a look? LLVM :: Transforms/SLPVectorizer/AArch64/getelementptr.ll LLVM :: Transforms/SLPVectorizer/AArch64/horizontal.ll Comment Actions Sorry, I forgot to test it with all of the backends. Now changed failing tests as they did not support many remarks at once.  Closed by commit rL318307: [SLP] Added more missed optimization remarks (authored by anemet).  ·  Explain WhyNov 15 2017, 9:05 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 121525 lib/Transforms/Vectorize/SLPVectorizer.cpp
 test/Transforms/SLPVectorizer/X86/remark_horcost.ll
 
 test/Transforms/SLPVectorizer/X86/remark_listcost.ll
 
 test/Transforms/SLPVectorizer/X86/remark_not_all_parts.ll
 
 test/Transforms/SLPVectorizer/X86/remark_unsupported.ll
 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This is only used by the remark as far as I can see. I think it would be simpler to just to the cast when constructing the remark.