SimplifyCFG currently drops !nontemporal metadata when sinking common instructions. With this change, SimplifyCFG and similar transforms will preserve !nontemporal metadata as long as it is set on both original instructions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
It seems the change in patchReplacementInstruction is not tested. I think it's better to make it tested.
Comment Actions
I've added a new GVN test to exercise the patchReplacementInstruction change, and I also added a GVNSink test to make sure this change works properly in that pass too even though it uses the same code path as SimplifyCFG. Are there other passes I should add tests for/update to better combine !nontemporal metadata?
Comment Actions
I don't have commit access; can you commit this for me? You can credit my name/email as Daniel Woodworth <daniel.woodworth@intel.com>.