[PATCH] D31609: [SystemZ] Fix bitcast of load translation to preserve alignment.

Nirav Dave via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 4 08:38:47 PDT 2017


niravd added a comment.

I was slightly incorrectl it's not the alignment. I mixed up the various getLoads in my tracing. It's an issue with offset. I just pulled the corresponding call from the visitBITCAST since it's doing the same operation.

The original was indirectly calling:

SDValue getLoad(ISD::MemIndexedMode AM, ISD::LoadExtType ExtType, EVT VT,

  const SDLoc &dl, SDValue Chain, SDValue Ptr, SDValue Offset,
  EVT MemVT, MachineMemOperand *MMO);

with Offset set to undef which seems wrong. I suspect it should be zero.

The new version calls:

SDValue getLoad(EVT VT, const SDLoc &dl, SDValue Chain, SDValue Ptr,

  MachinePointerInfo PtrInfo, unsigned Alignment = 0,
  MachineMemOperand::Flags MMOFlags = MachineMemOperand::MONone,
  const AAMDNodes &AAInfo = AAMDNodes(),
  const MDNode *Ranges = nullptr);


https://reviews.llvm.org/D31609





More information about the llvm-commits mailing list