- User Since
- Dec 19 2014, 12:23 PM (169 w, 1 d)
Fri, Mar 16
Thu, Mar 15
Addressed Renato's comments.
Wed, Mar 14
Fri, Mar 9
Wed, Mar 7
For the test case, why not just run "-cost-model -analyze" like we do for the other tests instead of running the vectorizer? Am I missing something?
Makes sense to me. I tested this patch on Falkor and didn't notice any significant performance differences on the benchmarks I ran. Can we add a test case, though? Maybe in test/Analysis/CostModel?
Mon, Mar 5
Sorry for not responding sooner - I was away from work for a few weeks. Yes, this looks like the same issue that was fixed over in rL324195. Thanks for adding the new tests, and sorry for the duplicated effort! Let me know if you run into any problems with the new code.
Jan 24 2018
Jan 19 2018
Jan 18 2018
Jan 15 2018
Addressed David's comments.
Jan 12 2018
Thanks for the quick feedback Danny/Davide. I definitely appreciate the point that SimplifyCFG may not be the best place for this kind of transformation. Davide, I assume the dedicated pass you're referring to is GVNSink? I don't think that pass is enabled yet (I haven't been closely following the progress, so I'm not sure what's holding it up at this point), but it's possible GVNSink would indeed catch the cases this patch does. I haven't tested that yet.
Thanks for cleaning this up.
Jan 11 2018
Jan 8 2018
Jan 4 2018
Dec 27 2017
Dec 26 2017
Dec 20 2017
Dec 19 2017
Thanks David! I'll make those changes before committing.
Dec 14 2017
Addressed David's comments. Thanks again!
Thanks again for the comments, David. I'll update the patch shortly.
Dec 13 2017
Dec 12 2017
Moved demoteCall, previously in D40751, to this patch.
Addressed David's comments. Thanks for the feedback!
Dec 11 2017
Dec 6 2017
Dec 1 2017
Made this patch NFC and split out the functional changes.
One minor comment. Otherwise, this looks fine to me.
Nov 30 2017
Rebased on top of D40658. We now use a common indirect call promotion interface.
Nov 27 2017
Nov 17 2017
Nov 9 2017
- Incorporated the change into the lazy call graph as well. The metadata is represented as ref edges there.
- Added a helper in CallSite to get the functions listed in the metadata.
Oct 31 2017
Oct 27 2017
Oct 26 2017
How hard do you think it would be to update this transformation to reason about vector GEPs rather than bailing out? (I've left some inline comments if you want to give it a try). Having said that, I'm fine with that patch as is. But you should at least add a comment explaining why we're giving up.
Oct 25 2017
I'm abandoning this for now to close the review. Davide/Danny, please feel free to revive this patch if you want. To summarize the main points in the review, we need to work on the cost model more to enable something like this by default.
Oct 16 2017
I updated this patch following the most recent changes to the generic solver, which allow clients to define custom LatticeKeys. I'll email llvm-dev before committing.
Thanks very much for the reviews!
Oct 13 2017
Oct 12 2017
Implement the previously discussed approach using generic LatticeKeys. A few things to note about this version of the patch: