[PATCH] D78148: [CodeGen] make isTriviallyRecursive handle more trivial recursion

2020-04-14 Thread George Burgess IV via Phabricator via cfe-commits
george.burgess.iv abandoned this revision. george.burgess.iv added a comment. Nothing in the real world :) I was writing test-cases for a soon-to-be-in-your-inbox patch, and initially wrote `memcpy` recursion in terms of `memcpy`, rather than `__builtin_memcpy`. Wasn't sure if this was an

[PATCH] D78148: [CodeGen] make isTriviallyRecursive handle more trivial recursion

2020-04-14 Thread Eli Friedman via Phabricator via cfe-commits
efriedma added a comment. Could you go into a little more detail what problem you're trying to resolve? isTriviallyRecursive is specifically a narrow hack to handle weird cases where a function is trying to hide the fact that it's calling itself, in ways that would convince gcc that the called

[PATCH] D78148: [CodeGen] make isTriviallyRecursive handle more trivial recursion

2020-04-14 Thread George Burgess IV via Phabricator via cfe-commits
george.burgess.iv created this revision. george.burgess.iv added reviewers: efriedma, serge-sans-paille. george.burgess.iv added a project: clang. Herald added a subscriber: cfe-commits. This function was not catching all forms of trivial recursion, meaning: void *memcpy(void *a, const void