This is an archive of the discontinued LLVM Phabricator instance.

[ARM] Remove duplicates in ParallelDSP
AbandonedPublic

Authored by samparker on Mar 11 2019, 4:28 AM.

Details

Summary

While scanning a block for sequential loads, also check for duplicate instructions and remove them if possible. To do this we have to ensure that for any memory reads, there aren't any writes between the two duplicates and also that memory operations are simple. I've also moved all the tests into a ParallelDSP directory.

Diff Detail

Event Timeline

samparker created this revision.Mar 11 2019, 4:28 AM

When does this come up, realistically? EarlyCSE already has a stronger form of load CSE.

samparker abandoned this revision.Mar 12 2019, 3:57 AM

This happens because of unroll and jam and I had tried to run cse after that... but doing the more obvious option of running it before parallel dsp solves the problem! I'll do that instead. Thanks.

test/CodeGen/ARM/smlald2.ll