[PATCH] D62726: [X86] Use fresh MemOps when emitting VAARG64

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 4 02:46:14 PDT 2019


luke marked 2 inline comments as done.
luke added inline comments.


================
Comment at: llvm/lib/Target/X86/X86ISelLowering.cpp:28679-28688
+  MachineMemOperand *LoadOnlyMMO = MF->getMachineMemOperand(
+      OldMMO->getPointerInfo(), MachineMemOperand::MOLoad, OldMMO->getSize(),
+      OldMMO->getBaseAlignment(), OldMMO->getAAInfo(), OldMMO->getRanges(),
+      OldMMO->getSyncScopeID(), OldMMO->getOrdering(),
+      OldMMO->getFailureOrdering());
+  MachineMemOperand *StoreOnlyMMO = MF->getMachineMemOperand(
+      OldMMO->getPointerInfo(), MachineMemOperand::MOStore, OldMMO->getSize(),
----------------
luke wrote:
> I'm not happy with this: It discards any volatile/other flags and seems wrong. Is there a better way of copying over the MMO but turning off specific flags?
Looks like X86InstrInfo also clones MMOs a couple of times this way, I don't feel so bad now. 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62726/new/

https://reviews.llvm.org/D62726





More information about the llvm-commits mailing list