[PATCH] D59375: Allow unordered loads to be considered invariant in CodeGen

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 14 11:15:47 PDT 2019


reames created this revision.
reames added reviewers: jfb, jlebar, craig.topper.
Herald added subscribers: bollu, mcrosier.
Herald added a project: LLVM.

The actual code change is fairly straight forward, but exercising it isn't.  First, it turned out we weren't adding the appropriate flags in SelectionDAG.  Second, it turned out that we've got some optimization gaps, so obvious test cases don't work.

My first attempt (in atomic-unordered.ll) points out a deficiency in our peephole-opt folding logic which I plan to fix separately.  Instead, I'm exercising this through MachineLICM.


Repository:
  rL LLVM

https://reviews.llvm.org/D59375

Files:
  lib/CodeGen/MachineInstr.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  test/CodeGen/X86/atomic-unordered.ll
  test/CodeGen/X86/hoist-invariant-load.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59375.190682.patch
Type: text/x-patch
Size: 3993 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190314/5f2566a0/attachment.bin>


More information about the llvm-commits mailing list