History log of /llvm-project/llvm/lib/SandboxIR/Context.cpp (Results 1 – 10 of 10)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init
# 79cbad18 29-Jan-2025 vporpo <vporpodas@google.com>

[SandboxVec] Clear Context's state within runOnFunction() (#124842)

`sandboxir::Context` is defined at a pass-level scope with the
`SandboxVectorizerPass` class because the function pass manager `F

[SandboxVec] Clear Context's state within runOnFunction() (#124842)

`sandboxir::Context` is defined at a pass-level scope with the
`SandboxVectorizerPass` class because the function pass manager `FPM`
object depends on it, and that is in pass-level scope to avoid
recreating the pass pipeline every single time `runOnFunction()` is
called.

This means that the Context's state lives on across function passes. The
problem is twofold:
(i) the LLVM IR to Sandbox IR map can grow very large including objects
from different functions, which is of no use to the vectorizer, as it's
a function-level pass.
(ii) this can result in stale data in the LLVM IR to Sandbox IR object
map, as other passes may delete LLVM IR objects.

To fix both issues this patch introduces a `Context::clear()` function
that clears the `LLVMValueToValueMap`.

show more ...


# 334a1cdb 28-Jan-2025 vporpo <vporpodas@google.com>

[SandboxIR] createFunction() should always create a function (#124665)

This patch removes the assertion that checks for an existing function.
If one exists it will remove it and create a new one. T

[SandboxIR] createFunction() should always create a function (#124665)

This patch removes the assertion that checks for an existing function.
If one exists it will remove it and create a new one. This helps remove
a crash when a function declaration object already exists and we are
about to create a SandboxIR object for the definition.

show more ...


Revision tags: llvmorg-19.1.7
# 4c0a0f72 10-Jan-2025 Tyler Lanphear <tylanphear@gmail.com>

[SandboxVectorizer][NFCI] Fix use of possibly-uninitialized scalar. (#122201)

The `EraseCallbackID` field is not always initialized in the ctor for
SeedCollector; if not, it will be used uninitializ

[SandboxVectorizer][NFCI] Fix use of possibly-uninitialized scalar. (#122201)

The `EraseCallbackID` field is not always initialized in the ctor for
SeedCollector; if not, it will be used uninitialized by its dtor. This
could potentially lead to the erasure of a random callback, leading to a
bug.

Fixed by making `CallbackID` an opaque type, which is always
default-initialized to an invalid ID.

show more ...


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4
# c79827cd 29-Oct-2024 Kazu Hirata <kazu@google.com>

[SandboxIR] Fix a warning

This patch fixes:

llvm/lib/SandboxIR/Context.cpp:684:22: error: unused variable
'MaxRegisteredCallbacks' [-Werror,-Wunused-const-variable]


# 4df71ab7 29-Oct-2024 Jorge Gorbe Moya <jgorbe@google.com>

[SandboxIR] Add callbacks for instruction insert/remove/move ops (#112965)


Revision tags: llvmorg-19.1.3, llvmorg-19.1.2
# ed5088a2 04-Oct-2024 vporpo <vporpodas@google.com>

[SandboxIR] Switch more Instruction::create() to InsertPosition (#111213)

Also moves CmpInst definitions from Context.cpp to Instruction.cpp


Revision tags: llvmorg-19.1.1
# e22b07e7 30-Sep-2024 vporpo <vporpodas@google.com>

[SandboxIR][NFC] Move Function class to a separate file (#110526)


# eba106d4 27-Sep-2024 vporpo <vporpodas@google.com>

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


# 7a2c5c69 26-Sep-2024 vporpo <vporpodas@google.com>

[SandboxIR][NFC] Move User into a separate file (#110157)


# 165a9128 26-Sep-2024 vporpo <vporpodas@google.com>

[SandboxIR][NFC] Move Context class into a separate file (#110049)