aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
diff options
context:
space:
mode:
authorDeric C. <cheung.deric@gmail.com>2025-07-14 16:39:01 -0700
committerGitHub <noreply@github.com>2025-07-14 16:39:01 -0700
commit352215c6eb291a20f62e7744dc2f7e4a6de46f8d (patch)
tree27707c9936e59ea23b525b5c40cc69b3e196f5ab /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
parentec90786ad1da16b655de11bc9590773fdc0e72a0 (diff)
downloadllvm-352215c6eb291a20f62e7744dc2f7e4a6de46f8d.zip
llvm-352215c6eb291a20f62e7744dc2f7e4a6de46f8d.tar.gz
llvm-352215c6eb291a20f62e7744dc2f7e4a6de46f8d.tar.bz2
[DirectX] Simplify and correct the flattening of GEPs in DXILFlattenArrays (#146173)
In tandem with #146800, this PR fixes #145370 This PR simplifies the logic for collapsing GEP chains and replacing GEPs to multidimensional arrays with GEPs to flattened arrays. This implementation avoids unnecessary recursion and more robustly computes the index to the flattened array by using the GEPOperator's collectOffset function, which has the side effect of allowing "i8 GEPs" and other types of GEPs to be handled naturally in the flattening / collapsing of GEP chains. Furthermore, a handful of LLVM DirectX CodeGen tests have been edited to fix incorrect GEP offsets, mismatched types (e.g., loading i32s from a an array of floats), and typos.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions