diff options
author | River Riddle <riddleriver@gmail.com> | 2022-07-26 13:22:19 -0700 |
---|---|---|
committer | River Riddle <riddleriver@gmail.com> | 2022-07-26 14:51:22 -0700 |
commit | 01eedbc7c14859c273bbd98693c67f35c59e8d85 (patch) | |
tree | 61e5608d4c43e0bcbaa5300f8ccddd2320770079 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 6d0b42745e55c703b779740f5316adbac8ef2f25 (diff) | |
download | llvm-01eedbc7c14859c273bbd98693c67f35c59e8d85.zip llvm-01eedbc7c14859c273bbd98693c67f35c59e8d85.tar.gz llvm-01eedbc7c14859c273bbd98693c67f35c59e8d85.tar.bz2 |
[mlir] Refactor SubElementInterface replace support
The current support was essentially the amount necessary
to support replacing SymbolRefAttrs, but suffers from various
deficiencies (both ergonomic and functional):
* Replace crashes if unsupported
This makes it really hard to use safely, given that you don't know
if you are going to crash or not when using it.
* Types aren't supported
This seems like a simple missed addition when the attribute replacement
support was originally added.
* The ergonomics are weird
It currently uses an index based replacement, which makes the implementations
quite clunky.
This commit refactors support to be a bit more ergonomic, and also
adds support for types in the process. This was also a great oppurtunity
to greatly simplify how replacement is done in the symbol table.
Fixes #56355
Differential Revision: https://reviews.llvm.org/D130589
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions