[all-commits] [llvm/llvm-project] 18546f: [mlir:Bytecode] Add shared_ptr<SourceMgr> overload...
River Riddle via All-commits
all-commits at lists.llvm.org
Sun Dec 11 22:45:57 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 18546ff8dd45a81e72c0a2ed0561b5aec8c15ca3
https://github.com/llvm/llvm-project/commit/18546ff8dd45a81e72c0a2ed0561b5aec8c15ca3
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-12-11 (Sun, 11 Dec 2022)
Changed paths:
M mlir/include/mlir/Bytecode/BytecodeReader.h
M mlir/include/mlir/IR/AsmState.h
M mlir/include/mlir/Parser/Parser.h
M mlir/include/mlir/Tools/ParseUtilities.h
M mlir/include/mlir/Tools/mlir-translate/Translation.h
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/ExecutionEngine/JitRunner.cpp
M mlir/lib/Parser/Parser.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-reduce/MlirReduceMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/lib/Tools/mlir-translate/Translation.cpp
Log Message:
-----------
[mlir:Bytecode] Add shared_ptr<SourceMgr> overloads to allow safe mmap of data
The bytecode reader currently has no mechanism that allows for directly referencing
data from the input buffer safely. This commit adds shared_ptr<SourceMgr> overloads
that provide an explicit and safe way of extending the lifetime of the input. The usage of
these new overloads is adopted in all of our tooling, and is implicitly used in the filename
only parser methods.
Differential Revision: https://reviews.llvm.org/D139366
Commit: 62fec084d67af5b3d55b09271a5b9aab604698f5
https://github.com/llvm/llvm-project/commit/62fec084d67af5b3d55b09271a5b9aab604698f5
Author: River Riddle <riddleriver at gmail.com>
Date: 2022-12-11 (Sun, 11 Dec 2022)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Support/InterfaceSupport.h
A mlir/utils/lldb-scripts/mlirDataFormatters.py
Log Message:
-----------
[mlir] Add LLDB visualizers for MLIR constructs
This commit adds a significant amount of visualizers attempting
to cover the majority of our visualization needs. It covers:
* Operations/OperationName/Ops/OpInterfaces
* Attributes/Types/Attr|TypeInterfaces/NamedAttribute
* Blocks/Regions
* Various range types (e.g. ValueRange/TypeRange)
* Values/BlockArguments/OpResults
This does require an NFC change to interfaces to rename
the concept field to avoid clash with the base class. It
also requires exposing a few method to the debugger
to help resolve information that is non-trivial to reconstruct.
These methods are re-exported using a debug_Blah naming
scheme to avoid messing with hot methods.
Note that this makes use of the new callback feature in lldb-16
(currently trunk) that allows for providing visualizers based on
a dynamic callback, instead of just the typename. It requires
a very new lldb, but allows for providing good default visualization
for all attributes/operations/types out of the box.
Differential Revision: https://reviews.llvm.org/D139602
Compare: https://github.com/llvm/llvm-project/compare/9cbd2959c156...62fec084d67a
More information about the All-commits
mailing list