The error encountered while building the alive2 tool

I am a beginner and have encountered some errors while building the alive2 tool. I am using the latest version of LLVM.

work/alive2/alive2/llvm_util/llvm2alive.cpp:1498:38: error: no member named 'ArgMem' in 'llvm::MemoryEffectsBase<llvm::IRMemLocation>'
 1498 |       make_pair(llvm::MemoryEffects::ArgMem,          MemoryAccess::Args),
      |                 ~~~~~~~~~~~~~~~~~~~~~^
work/alive2/alive2/llvm_util/llvm2alive.cpp:1499:38: error: no member named 'InaccessibleMem' in 'llvm::MemoryEffectsBase<llvm::IRMemLocation>'; did you mean 'inaccessibleMemOnly'?
 1499 |       make_pair(llvm::MemoryEffects::InaccessibleMem,
      |                 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
      |                                      inaccessibleMemOnly
tools/llvm16/llvm-project-main/llvm/include/llvm/Support/ModRef.h:138:3: note: 'inaccessibleMemOnly' declared here
  138 |   inaccessibleMemOnly(ModRefInfo MR = ModRefInfo::ModRef) {
      |   ^
work/alive2/alive2/llvm_util/llvm2alive.cpp:1501:17: error: no member named 'Other' in 'llvm::MemoryEffectsBase<llvm::IRMemLocation>'; did you mean 'IR::MemoryAccess::Other'?
 1501 |       make_pair(llvm::MemoryEffects::Other,           MemoryAccess::Other),
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 IR::MemoryAccess::Other
work/alive2/alive2/ir/attrs.h:25:57: note: 'IR::MemoryAccess::Other' declared here
   25 |   enum AccessType { Args, Globals, Inaccessible, Errno, Other, NumTypes };
      |                                                         ^
work/alive2/alive2/llvm_util/llvm2alive.cpp:1502:17: error: no member named 'Other' in 'llvm::MemoryEffectsBase<llvm::IRMemLocation>'; did you mean 'IR::MemoryAccess::Other'?
 1502 |       make_pair(llvm::MemoryEffects::Other,           MemoryAccess::Globals),
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 IR::MemoryAccess::Other
work/alive2/alive2/ir/attrs.h:25:57: note: 'IR::MemoryAccess::Other' declared here
   25 |   enum AccessType { Args, Globals, Inaccessible, Errno, Other, NumTypes };
      |                                                         ^
work/alive2/alive2/llvm_util/llvm2alive.cpp:1503:17: error: no member named 'Other' in 'llvm::MemoryEffectsBase<llvm::IRMemLocation>'; did you mean 'IR::MemoryAccess::Other'?
 1503 |       make_pair(llvm::MemoryEffects::Other,           MemoryAccess::Errno),
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |                 IR::MemoryAccess::Other
work/alive2/alive2/ir/attrs.h:25:57: note: 'IR::MemoryAccess::Other' declared here
   25 |   enum AccessType { Args, Globals, Inaccessible, Errno, Other, NumTypes };
      |                                                         ^
5 errors generated.
[50/61] Building CXX object tv/CMakeFiles/tv.dir/tv.cpp.o

How can this issue be resolved? Is it necessary to change the version of LLVM? Thanks!

I have resolved this issue. Just modify it to llvm::MemoryEffects::Location::xxx .