[PATCH] D137641: [TableGen] Use MemoryEffects to represent intrinsic memory effects (NFCI)

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 8 06:39:33 PST 2022


nikic created this revision.
nikic added reviewers: jdoerfert, nhaehnle, aeubanks.
Herald added a project: All.
nikic requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

The TableGen implementation was using a homegrown implementation of FunctionModRefInfo. This switches it to use MemoryEffects instead. This makes the code simpler, and will allow exposing the full representational power of MemoryEffects in the future. Among other things, this will allow us to map IntrHasSideEffects to an inaccessiblemem readwrite, rather than just ignoring it entirely in most cases.

A caveat here is that this includes a header from IR in TableGen. I think this should be unproblematic as long as IR/ModRef.h doesn't itself depend on any TableGen-generated headers. Alternatively, it could be moved into Support, but that feels somewhat out of place.


https://reviews.llvm.org/D137641

Files:
  llvm/include/llvm/IR/ModRef.h
  llvm/utils/TableGen/CodeGenDAGPatterns.cpp
  llvm/utils/TableGen/CodeGenIntrinsics.h
  llvm/utils/TableGen/CodeGenTarget.cpp
  llvm/utils/TableGen/IntrinsicEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D137641.473990.patch
Type: text/x-patch
Size: 10326 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221108/f701561f/attachment.bin>


More information about the llvm-commits mailing list