[Hexagon] Place aligned loads closer to users
authorKrzysztof Parzyszek <kparzysz@quicinc.com>
Tue, 8 Nov 2022 22:57:21 +0000 (14:57 -0800)
committerKrzysztof Parzyszek <kparzysz@quicinc.com>
Fri, 11 Nov 2022 20:04:33 +0000 (12:04 -0800)
commit017186294d933921d1667ffbad82981dda09dacd
treeb23631a0c99b8fec801106e8d59edcd20da53952
parentb66da73a05abe88bbe34bf7ffbe09f6e3d7f1fe0
[Hexagon] Place aligned loads closer to users

Vector alignment code was grouping all aligned loads together. In some
cases the groups could become quite large causing a lot of spill to be
generated. This will place the loads closer to where they are used,
reducing the register pressure.
llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
llvm/test/CodeGen/Hexagon/autohvx/vector-align-interleaved.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/vector-align-only-phi-use.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/vector-align-tbaa.ll
llvm/test/CodeGen/Hexagon/autohvx/vector-align-use-in-different-block.ll [new file with mode: 0644]