diff options
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.h')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCISelLowering.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.h b/llvm/lib/Target/PowerPC/PPCISelLowering.h index e1dcd7d1d36..8b1c22b6bcd 100644 --- a/llvm/lib/Target/PowerPC/PPCISelLowering.h +++ b/llvm/lib/Target/PowerPC/PPCISelLowering.h @@ -761,12 +761,24 @@ namespace llvm { SDValue Chain; SDValue ResChain; MachinePointerInfo MPI; + bool IsDereferenceable; bool IsInvariant; unsigned Alignment; AAMDNodes AAInfo; const MDNode *Ranges; - ReuseLoadInfo() : IsInvariant(false), Alignment(0), Ranges(nullptr) {} + ReuseLoadInfo() + : IsDereferenceable(false), IsInvariant(false), Alignment(0), + Ranges(nullptr) {} + + MachineMemOperand::Flags MMOFlags() const { + MachineMemOperand::Flags F = MachineMemOperand::MONone; + if (IsDereferenceable) + F |= MachineMemOperand::MODereferenceable; + if (IsInvariant) + F |= MachineMemOperand::MOInvariant; + return F; + } }; bool canReuseLoadAddress(SDValue Op, EVT MemVT, ReuseLoadInfo &RLI, |