This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Fixes Store Merge chain in DAG combiner
AbandonedPublic

Authored by jyknight on Mar 2 2016, 5:26 PM.

Details

Summary

Fixes Bug 26827 https://llvm.org/bugs/show_bug.cgi?id=26827

Currently, when stores are merged, all the uses of merged stores are
replaced with the chains of the stores, which may cause wrong
scheduling. For example, given a chain:

  st1's chain <- st1 <- st2 <- st3
when st1 are st2 are merged, it becomes
  st1's chain <- new_st
  st1's chain <- st3

So write orders are not preserved.

This patch uses IROrder to set st3's chain to new_st. So it becomes

st1's chain <- new_st <- st3

Diff Detail

Repository
rL LLVM

Event Timeline

weimingz updated this revision to Diff 49692.Mar 2 2016, 5:26 PM
weimingz retitled this revision from to [AArch64] Fixes Store Merge chain in DAG combiner.
weimingz updated this object.
weimingz added a reviewer: rafael.
weimingz set the repository for this revision to rL LLVM.

Not sure if using IROrder is the right way to do

spatel added a subscriber: spatel.

This is at least related to the problem/patch/discussion in D14834?

rafael edited edge metadata.Mar 3 2016, 3:07 PM

Why am I a reviewer?

Why am I a reviewer?

Sorry if I added you by mistake. I thought it's related with r167912.

jyknight edited edge metadata.Mar 3 2016, 4:04 PM

This is at least related to the problem/patch/discussion in D14834?

I believe that patch will fix this issue; I'll test it and get back to you.

Fortunately, Nirav is now (since this week) actually working on finishing the work suggested by the last comments in D14834. He should have something to show for that soon.

This is at least related to the problem/patch/discussion in D14834?

I believe that patch will fix this issue; I'll test it and get back to you.

Fortunately, Nirav is now (since this week) actually working on finishing the work suggested by the last comments in D14834. He should have something to show for that soon.

Yes, I just verified that it fix my issue. But I got some lit test fails.

jyknight commandeered this revision.Apr 26 2016, 2:48 PM
jyknight edited reviewers, added: weimingz; removed: jyknight.

Fixed via D18909, marking this as abandoned.

jyknight abandoned this revision.Apr 26 2016, 2:48 PM