Details
- Reviewers
• tstellarAMD
Diff Detail
- Build Status
Buildable 3556 Build 3556: arc lint + arc unit
Event Timeline
Should this try to delete the redundant moves itself? MachineCSE runs earlier on SSA, so this isn't getting cleaned up. It helps with the clustering, but I get sequences of re-initing m0 to -1 like:
s_mov_b32 m0, -1
s_mov_b32 m0, -1
s_mov_b32 m0, -1
s_mov_b32 m0, -1
v_mov_b32_e32 v50, 0x4a8
ds_read2_b32 v[82:83], v50 offset1:1
ds_read2_b32 v[50:51], v35 offset1:1
I tried to have the DAGMutation delete the redundant moves, but I started getting assertion failures all over (maybe you can get this to work, not sure). Might have to just run MachineCSE after scheduling.
I would be somewhat surprised if the scheduler allowed deleting instructions, I doubt anywhere else does this
This is broader than the move immediate case. There need to be some tests where this happens for other instruction types