[all-commits] [llvm/llvm-project] 028d41: [Hexagon] Add Hexagon Load Widening Pass (#116330)
Yashas Andaluri via All-commits
all-commits at lists.llvm.org
Fri Nov 22 13:17:52 PST 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 028d41d7cf16ffaba1493d850a382a6d3eb814cf
https://github.com/llvm/llvm-project/commit/028d41d7cf16ffaba1493d850a382a6d3eb814cf
Author: Yashas Andaluri <quic_yandalur at quicinc.com>
Date: 2024-11-22 (Fri, 22 Nov 2024)
Changed paths:
M llvm/lib/Target/Hexagon/CMakeLists.txt
A llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
R llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
A llvm/test/CodeGen/Hexagon/load-widen.ll
M llvm/test/CodeGen/Hexagon/store-widen-aliased-load.ll
A llvm/test/CodeGen/Hexagon/widen-alias.ll
A llvm/test/CodeGen/Hexagon/widen-not-load.ll
A llvm/test/CodeGen/Hexagon/widen-volatile.ll
Log Message:
-----------
[Hexagon] Add Hexagon Load Widening Pass (#116330)
Extend existing store widening pass to widen load instructions.
This patch also borrows the alias check algorithm from AMDGPU's load
store widening pass.
Widened load instruction is inserted before the first candidate load
instruction.
Widened store instruction is inserted after the last candidate store
instruction.
This method helps avoid moving uses/defs when replacing load/store
instructions with their widened equivalents.
The pass has also been extended to
* Generate 64-bit widened stores
* Handle 32-bit post increment load/store
* Handle stores of non-immediate values
* Handle stores where the offset is a GlobalValue
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list