History log of /llvm-project/llvm/lib/Target/DirectX/DXILFlattenArrays.cpp (Results 1 – 4 of 4)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# 6457aee5 18-Dec-2024 Farzon Lotfi <farzonlotfi@microsoft.com>

[DirectX] Bug fix for Data Scalarization crash (#118426)

Two bugs here. First calling `Inst->getFunction()` has undefined
behavior if the instruction is not tracked to a function. I suspect the
`r

[DirectX] Bug fix for Data Scalarization crash (#118426)

Two bugs here. First calling `Inst->getFunction()` has undefined
behavior if the instruction is not tracked to a function. I suspect the
`replaceAllUsesWith` was leaving the GEPs in a weird ghost parent
situation. I switched up the visitor to be able to `eraseFromParent` as
part of visiting and then everything started working.

The second bug was in `DXILFlattenArrays.cpp`. I was unaware that you
can have multidimensional arrays of `zeroinitializer`, and `undef` so
fixed up the initializer to handle these two cases.

fixes #117273

show more ...


# 3eca15cb 18-Dec-2024 Justin Bogner <mail@justinbogner.com>

[DirectX] Split resource info into type and binding info. NFC (#119773)

This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immuta

[DirectX] Split resource info into type and binding info. NFC (#119773)

This splits the DXILResourceAnalysis pass into TypeAnalysis and
BindingAnalysis passes. The type analysis pass is made immutable and
populated lazily so that it can be used earlier in the pipeline without
needing to carefully maintain the invariants of the binding analysis.

Fixes #118400

show more ...


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4
# e0b522dd 18-Nov-2024 Justin Bogner <mail@justinbogner.com>

[DirectX] Fix crash in DXILFlattenArrays for function declarations (#116690)

We were skipping intrinsics here, but really we need to skip all
function declarations - if the function doesn't have a

[DirectX] Fix crash in DXILFlattenArrays for function declarations (#116690)

We were skipping intrinsics here, but really we need to skip all
function declarations - if the function doesn't have a body there's
nothing to walk.

show more ...


# 5ac624c8 13-Nov-2024 Farzon Lotfi <1802579+farzonl@users.noreply.github.com>

[DirectX] Flatten arrays (#114332)

- Relevant piece is `DXILFlattenArrays.cpp`
- Loads and Store Instruction visits are just for finding
GetElementPtrConstantExpr and splitting them.
- Allocas

[DirectX] Flatten arrays (#114332)

- Relevant piece is `DXILFlattenArrays.cpp`
- Loads and Store Instruction visits are just for finding
GetElementPtrConstantExpr and splitting them.
- Allocas needed to be replaced with flattened allocas.
- Global arrays were similar to allocas. Only interesting piece here is
around initializers.
- Most of the work went into building correct GEP chains. The approach
here was a recursive strategy via `recursivelyCollectGEPs`.
- All intermediary GEPs get marked for deletion and only the leaf GEPs
get updated with the new index.

fixes [89646](https://github.com/llvm/llvm-project/issues/89646)

show more ...