This is an archive of the discontinued LLVM Phabricator instance.

Disable quad load/store pairing for Exynos
ClosedPublic

Authored by az on Apr 11 2016, 9:24 AM.

Details

Summary

Disable load/store pairing for quads on -mcpu=exynos-m1 as it is not as efficient as the non paired ld/st.

Diff Detail

Repository
rL LLVM

Event Timeline

az updated this revision to Diff 53256.Apr 11 2016, 9:24 AM
az retitled this revision from to Disable quad load/store pairing for Exynos.
az updated this object.
az added reviewers: evandro, t.p.northover, rengolin.
az set the repository for this revision to rL LLVM.
az added a subscriber: llvm-commits.
mcrosier accepted this revision.Apr 11 2016, 9:36 AM
mcrosier added a reviewer: mcrosier.
mcrosier added a subscriber: mcrosier.

LGTM.

This revision is now accepted and ready to land.Apr 11 2016, 9:36 AM

You might want to also add a test that shows these type of loads are not clustered by the MI scheduler. You should add the test to test/CodeGen/AArch64/arm64-ldp-cluster.ll

az updated this revision to Diff 53418.Apr 12 2016, 9:21 AM
az edited edge metadata.

Added no load clustering test for Exynos.

junbuml added inline comments.
llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
132

Since you only disable clustering for quad load/store, you may want to add check for EXYNOS in above other test cases.

mcrosier added inline comments.Apr 12 2016, 9:32 AM
llvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
132

I tend to agree.

az updated this revision to Diff 53488.Apr 12 2016, 4:27 PM

Added check for EXYNOS in the other test cases (made also the new Exynos test case do the CHECK but can undo it if not seen useful)

LGTM. Feel free to commit.

sebpop closed this revision.Apr 21 2016, 12:38 PM
sebpop added a subscriber: sebpop.

Committed to LLVM trunk as r266223.