[ModRef] Default to ModRef in MemoryEffects ctors (NFC)
authorNikita Popov <npopov@redhat.com>
Thu, 20 Oct 2022 14:40:38 +0000 (16:40 +0200)
committerNikita Popov <npopov@redhat.com>
Thu, 20 Oct 2022 14:42:14 +0000 (16:42 +0200)
Allow writing something like MemoryEffects::argMemOnly() implying
MemoryEffects::argMemOnly(ModRefInfo::ModRef). Having to write this
out is a bit of an annoying than porting code using the existing
attributes in D135780.

llvm/include/llvm/IR/ModRef.h

index e5ae74a..b243593 100644 (file)
@@ -129,17 +129,18 @@ public:
   }
 
   /// Create MemoryEffects that can only access argument memory.
-  static MemoryEffects argMemOnly(ModRefInfo MR) {
+  static MemoryEffects argMemOnly(ModRefInfo MR = ModRefInfo::ModRef) {
     return MemoryEffects(ArgMem, MR);
   }
 
   /// Create MemoryEffects that can only access inaccessible memory.
-  static MemoryEffects inaccessibleMemOnly(ModRefInfo MR) {
+  static MemoryEffects inaccessibleMemOnly(ModRefInfo MR = ModRefInfo::ModRef) {
     return MemoryEffects(InaccessibleMem, MR);
   }
 
   /// Create MemoryEffects that can only access inaccessible or argument memory.
-  static MemoryEffects inaccessibleOrArgMemOnly(ModRefInfo MR) {
+  static MemoryEffects
+  inaccessibleOrArgMemOnly(ModRefInfo MR = ModRefInfo::ModRef) {
     MemoryEffects FRMB = none();
     FRMB.setModRef(ArgMem, MR);
     FRMB.setModRef(InaccessibleMem, MR);