[PATCH] D147251: [Chkpnt] Initial patch for checkpointing.
    Vasileios Porpodas via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Mar 30 11:43:47 PDT 2023
    
    
  
vporpo created this revision.
vporpo added reviewers: nhaehnle, asbirlea, aeubanks.
Herald added a subscriber: hiraditya.
Herald added a project: All.
vporpo requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Checkpointing was discussed in a couple of RFCs:
https://discourse.llvm.org/t/rfc-local-per-component-ir-checkpointing/69071
https://discourse.llvm.org/t/rfc-lightweight-llvm-ir-checkpointing/68446
This set of patches implement the former local per-component checkpointing.
In short checkpointing provides a simple API for saving and restoring parts
of the IR state. For example if we want to save/restore the state of BB:
  auto Chkpnt = Context.getCheckpoint();
  Chkpnt.track(BB);
  // Make changes to instructions in `BB`
  Chkpnt.restore();
This patch includes the main body of the checkpointing infrastructure and also
implements part of tracking name changes of a BasicBlock component.
Repository:
  rG LLVM Github Monorepo
https://reviews.llvm.org/D147251
Files:
  llvm/include/llvm/IR/BasicBlock.h
  llvm/include/llvm/IR/Checkpoint.h
  llvm/include/llvm/IR/CheckpointChanges.h
  llvm/include/llvm/IR/CheckpointCommon.h
  llvm/include/llvm/IR/CheckpointTracker.h
  llvm/include/llvm/IR/LLVMContext.h
  llvm/include/llvm/IR/Value.h
  llvm/lib/IR/CMakeLists.txt
  llvm/lib/IR/Checkpoint.cpp
  llvm/lib/IR/CheckpointChanges.cpp
  llvm/lib/IR/CheckpointCommon.cpp
  llvm/lib/IR/CheckpointTracker.cpp
  llvm/lib/IR/LLVMContext.cpp
  llvm/lib/IR/Value.cpp
  llvm/unittests/IR/CMakeLists.txt
  llvm/unittests/IR/CheckpointTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147251.509757.patch
Type: text/x-patch
Size: 33930 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230330/bda1eeea/attachment-0001.bin>
    
    
More information about the llvm-commits
mailing list