[PATCH] D50461: DAG: Don't use ABI copies in some contexts

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 21 07:51:30 PDT 2018


arsenm added a comment.

In https://reviews.llvm.org/D50461#1207228, @bjope wrote:

> (Not sure I'm able to review this, I don't know exactly how it works. I'll try to help out by asking some questions, maybe I will learn something to be confident enough to review it.)
>
> The test cases you added only test the situation when the use is in another block. So what happens if the use is in the same block? Are we sure that we aren't breaking something for that scenario? (are modified functions only used for cross-block uses?)


That's the normal case that most tests already us, so that works. The value is used directly without intermediate CopyToReg/CopyFromRegs

> I tried to find out where these ABI copy checks originates from. It partly comes from this https://reviews.llvm.org/D35765, although that patch only adds a test case that we do not crash. But the bulk of it seems to originate from https://reviews.llvm.org/D27845, which includes some test cases. So I guess we got some regression tests for the original purpose with these "is ABI copy" checks.

The cases I added in r338197, r338416, r338418 and r338421 also use ABI copies


https://reviews.llvm.org/D50461





More information about the llvm-commits mailing list