[PATCH] D24577: [RFC] Move synchronization scope and atomic orderings from SDNode to MachineMemOperand

Konstantin Zhuravlyov via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 21 00:02:33 PDT 2016


kzhuravl updated this revision to Diff 72009.
kzhuravl added a comment.

Hi, thanks for taking a look. I agree that the previous diff caused increased machine memory operand size. Currently machine memory operand's member layout has a 4 byte hole between `BaseAlignLog2` and `AAInfo`. If we pack scope and orderings as it is done in the updated diff and place it between `BaseAlignLog2` and `AAInfo` the size of the machine memory operand does not change. In addition, I think, having scope and ordering information available in machine memory operand will be useful for the scheduler.

Would that be acceptable?

Thanks,
Konstantin


https://reviews.llvm.org/D24577

Files:
  include/llvm/CodeGen/MachineFunction.h
  include/llvm/CodeGen/MachineMemOperand.h
  include/llvm/CodeGen/SelectionDAG.h
  include/llvm/CodeGen/SelectionDAGNodes.h
  lib/CodeGen/MachineFunction.cpp
  lib/CodeGen/MachineInstr.cpp
  lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/Target/SystemZ/SystemZISelLowering.cpp
  lib/Target/X86/X86ISelLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24577.72009.patch
Type: text/x-patch
Size: 31658 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160921/2b8193f2/attachment.bin>


More information about the llvm-commits mailing list