History log of /llvm-project/llvm/lib/SandboxIR/Tracker.cpp (Results 1 – 25 of 29)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init
# 749443a3 27-Jan-2025 Jeremy Morse <jeremy.morse@sony.com>

[NFC][DebugInfo] Mop up final instruction-insertion call sites (#124289)

These are the final places in the monorepo that make use of instruction
insertion for methods like insertBefore and moveBefo

[NFC][DebugInfo] Mop up final instruction-insertion call sites (#124289)

These are the final places in the monorepo that make use of instruction
insertion for methods like insertBefore and moveBefore. As part of the
RemoveDIs project, instead use iterators for insertion. (see:
https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939
).

show more ...


Revision tags: llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4
# 3b8606be 18-Nov-2024 Jorge Gorbe Moya <jgorbe@google.com>

Re-land "[SandboxIR] Add debug checker to compare IR before/after a revert (#115968)" (#116671)

This PR re-lands https://github.com/llvm/llvm-project/pull/115968 with a
fix for a buildbot failure.

Re-land "[SandboxIR] Add debug checker to compare IR before/after a revert (#115968)" (#116671)

This PR re-lands https://github.com/llvm/llvm-project/pull/115968 with a
fix for a buildbot failure.

The `IRSnapshotChecker` class is only defined in debug mode, so its unit
tests must also be inside `#ifndef NDEBUG`.

show more ...


# 0ae58c45 18-Nov-2024 Jorge Gorbe Moya <jgorbe@google.com>

Revert "[SandboxIR] Add debug checker to compare IR before/after a revert" (#116666)

Reverts llvm/llvm-project#115968. It caused buildbot failures.


# 9161e6ab 18-Nov-2024 Jorge Gorbe Moya <jgorbe@google.com>

[SandboxIR] Add debug checker to compare IR before/after a revert (#115968)

This will help us catch mistakes in change tracking. It's only enabled
when EXPENSIVE_CHECKS are enabled.


# 9d85ba57 12-Nov-2024 Jorge Gorbe Moya <jgorbe@google.com>

[SandboxIR] Preserve the order of switch cases after revert. (#115577)

Preserving the case order is not strictly necessary to preserve
semantics (for example, operations like SwitchInst::removeCase

[SandboxIR] Preserve the order of switch cases after revert. (#115577)

Preserving the case order is not strictly necessary to preserve
semantics (for example, operations like SwitchInst::removeCase will
happily swap cases around). However, I'm planning to introduce an
optional verification step for SandboxIR that will use StructuralHash to
compare IR after a revert to the original IR to help catch tracker bugs,
and the order difference triggers a difference there.

show more ...


# 5b19ed8b 10-Nov-2024 Kazu Hirata <kazu@google.com>

[llvm] Migrate away from PointerUnion::{is,get,dyn_cast} (NFC) (#115626)

Note that PointerUnion::{is,get,dyn_cast} have been soft deprecated in
PointerUnion.h:

// FIXME: Replace the uses of is

[llvm] Migrate away from PointerUnion::{is,get,dyn_cast} (NFC) (#115626)

Note that PointerUnion::{is,get,dyn_cast} have been soft deprecated in
PointerUnion.h:

// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>

show more ...


Revision tags: llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1
# eba106d4 27-Sep-2024 vporpo <vporpodas@google.com>

[SandboxIR][NFC] Move Instruction classes into a separate file (#110294)


Revision tags: llvmorg-19.1.0
# b30880e9 04-Sep-2024 Vasileios Porpodas <vporpodas@google.com>

[SandboxIR] Fix linking error caused by 840da2e8ba7e0f77938adfc6f6d315137542a1b8


# 840da2e8 04-Sep-2024 Sterling-Augustine <56981066+Sterling-Augustine@users.noreply.github.com>

[SandboxIR] Implement CmpInst, FCmpInst, and ICmpInst (#106301)

As in the description.

Not sure the macros for "WRAP_XXX" add value or not, but do save some
boiler plate. Maybe there is a better

[SandboxIR] Implement CmpInst, FCmpInst, and ICmpInst (#106301)

As in the description.

Not sure the macros for "WRAP_XXX" add value or not, but do save some
boiler plate. Maybe there is a better way.

show more ...


Revision tags: llvmorg-19.1.0-rc4
# b5ba7265 21-Aug-2024 Jorge Gorbe Moya <jgorbe@google.com>

[SandboxIR] Add tracking for `ShuffleVectorInst::setShuffleMask`. (#105590)


# 6e8c9703 20-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR] Implement CatchSwitchInst (#104652)

This patch implements sandboxir::CatchSwitchInst mirroring
llvm::CatchSwitchInst.


Revision tags: llvmorg-19.1.0-rc3
# 516c1a0e 16-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR] Implement SwitchInst (#104641)

This patch implements sandboxir::SwitchInst mirroring llvm::SwitchInst.


# 8c5d76ac 16-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR][Tracker][NFC] GenericSetterWithIdx (#104615)

This patch adds a generic change tracker class, similar to
GenericSetter, but for getter/setter functions that also take an index
argument.

[SandboxIR][Tracker][NFC] GenericSetterWithIdx (#104615)

This patch adds a generic change tracker class, similar to
GenericSetter, but for getter/setter functions that also take an index
argument. For example: `Foo:get(Idx)` and `Foo::set(Idx, Val)`. These
setter/getter patterns are common enough that using a common
implementation seems beneficial.

show more ...


# 44f30c80 09-Aug-2024 Vasileios Porpodas <vporpodas@google.com>

[SandboxIR][NFC] Use Tracker.emplaceIfTracking()

This patch replaces some of the remaining uses of Tracker::track() to
Tracker::emplaceIfTracking().


# f7ad495a 09-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR] Clean up tracking code with the help of emplaceIfTracking() (#102406)

This patch introduces Tracker::emplaceIfTracking(), a wrapper of Tracker::track() that will conditionally create the

[SandboxIR] Clean up tracking code with the help of emplaceIfTracking() (#102406)

This patch introduces Tracker::emplaceIfTracking(), a wrapper of Tracker::track() that will conditionally create the change object if tracking is enabled.
This patch also removes the `Parent` member field of `IRChangeBase`.

show more ...


# 4fe33d06 08-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR][NFC] GenericSetter tracker class (#102260)

This patch introduces the `GenericSetter` tracker class that can be used
to track and revert simple instruction setters.

This patch also re

[SandboxIR][NFC] GenericSetter tracker class (#102260)

This patch introduces the `GenericSetter` tracker class that can be used
to track and revert simple instruction setters.

This patch also replaces several setter tracker classes with the generic
one.

show more ...


# 36f0d648 06-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR] Implement AllocaInst (#102027)

This patch implements sandboxir::AllocaInst which mirrors
llvm::AllocaInst.


# 0959e58f 05-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR][Tracker] Track creation of instructions (#102013)

This patch adds tracking support for the creation of SandboxIR
instructions. This allows us to undo the creation of instructions during

[SandboxIR][Tracker] Track creation of instructions (#102013)

This patch adds tracking support for the creation of SandboxIR
instructions. This allows us to undo the creation of instructions during
revert().

Please note that we don't allow creation of detached instructions,
meaning that the instructions need to be inserted into a block upon
creation. This is why the tracker class combines creation and insertion.

show more ...


Revision tags: llvmorg-19.1.0-rc2
# 85da9611 03-Aug-2024 vporpo <vporpodas@google.com>

[SandboxIR][Tracker] Track InsertIntoBB (#101595)

This patch implements tracking for the insertion of a
sandboxir::Instruction into a sandboxir::BasicBlock.


# 95b366ca 03-Aug-2024 Julius Alexandre <juliuswoosebert@gmail.com>

[SandboxIR] Add setVolatile function to LoadInst and StoreInst (#101759)

This patch adds sandboxir::LoadInst::setVolatile() and sandboxir::StoreInst::setVolatile()
and the corresponding tracking cl

[SandboxIR] Add setVolatile function to LoadInst and StoreInst (#101759)

This patch adds sandboxir::LoadInst::setVolatile() and sandboxir::StoreInst::setVolatile()
and the corresponding tracking class.

show more ...


# 3403b593 31-Jul-2024 Sterling-Augustine <56981066+Sterling-Augustine@users.noreply.github.com>

[SandboxIR] Implement PHINodes (#101111)

This patch implements sandboxir::PHINode which mirrors llvm::PHINode.

Based almost entirely on work by vporpo.


# cfb92be0 29-Jul-2024 vporpo <vporpodas@google.com>

[SandboxIR] Implement CallBrInst (#100823)

This patch implements sandboxir::CallBrInst which mirrors
llvm::CallBrInst.

LLVM IR does not expose the Uses to DefaultDest and IndirectDest so we
nee

[SandboxIR] Implement CallBrInst (#100823)

This patch implements sandboxir::CallBrInst which mirrors
llvm::CallBrInst.

LLVM IR does not expose the Uses to DefaultDest and IndirectDest so we
need special Tracker objects for both of setters.

show more ...


Revision tags: llvmorg-19.1.0-rc1
# c444548b 23-Jul-2024 Vasileios Porpodas <vporpodas@google.com>

Reapply "[SandboxIR] Implement BranchInst (#100063)"

This reverts commit c312a1a9c1beb407506cb1f76eb4ba05e92e5ab4.


# c312a1a9 23-Jul-2024 Vasileios Porpodas <vporpodas@google.com>

Revert "[SandboxIR] Implement BranchInst (#100063)"

This reverts commit 3993da23daa0ae75e9e80def76854534903e3761.


# 3993da23 23-Jul-2024 vporpo <vporpodas@google.com>

[SandboxIR] Implement BranchInst (#100063)

This patch implements sandboxir::BranchInst which mirrors
llvm::BranchInst.

BranchInst::swapSuccessors() relies on User::swapOperandsInternal() so
thi

[SandboxIR] Implement BranchInst (#100063)

This patch implements sandboxir::BranchInst which mirrors
llvm::BranchInst.

BranchInst::swapSuccessors() relies on User::swapOperandsInternal() so
this patch also adds Use::swap() and the corresponding tracking code and
test.

show more ...


12