[CodeGen] Split out the notions of MI invariance and MI dereferenceability.
Summary: An IR load can be invariant, dereferenceable, neither, or both. But currently, MI's notion of invariance is IR-invariant && IR-dereferenceable. This patch splits up the notions of invariance and dereferenceability at the MI level. It's NFC, so adds some probably-unnecessary "is-dereferenceable" checks, which we can remove later if desired. Reviewers: chandlerc, tstellarAMD Subscribers: jholewinski, arsenm, nemanjai, llvm-commits Differential Revision: https://reviews.llvm.org/D23371 llvm-svn: 281151
This commit is contained in:
@@ -892,6 +892,8 @@ void MIPrinter::print(const MachineMemOperand &Op) {
|
||||
OS << "volatile ";
|
||||
if (Op.isNonTemporal())
|
||||
OS << "non-temporal ";
|
||||
if (Op.isDereferenceable())
|
||||
OS << "dereferenceable ";
|
||||
if (Op.isInvariant())
|
||||
OS << "invariant ";
|
||||
if (Op.isLoad())
|
||||
|
||||
Reference in New Issue
Block a user