aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/ModRef.cpp
diff options
context:
space:
mode:
authorBrox Chen <guochen2@amd.com>2025-07-18 12:55:11 -0400
committerGitHub <noreply@github.com>2025-07-18 12:55:11 -0400
commit5138b61a25f11eb8675d0031712c1ee6b4cb8be4 (patch)
tree0e32157b1ceeb31c8733a51e3330da29a63ba26b /llvm/lib/Support/ModRef.cpp
parent73e4b589ba9526c72f495ca6898ed18d730d2db4 (diff)
downloadllvm-5138b61a25f11eb8675d0031712c1ee6b4cb8be4.zip
llvm-5138b61a25f11eb8675d0031712c1ee6b4cb8be4.tar.gz
llvm-5138b61a25f11eb8675d0031712c1ee6b4cb8be4.tar.bz2
[AMDGPU][True16][Codegen] remove packed build_vector pattern from true16 (#148715)
Some of the packed build_vector use vgpr_32 for i16/f16/bf16. In gfx11, bf16 arithmetic get promoted to f32 and this is done via v2i16 pack. In true16 mode this v2i16 pack is selected to a build_vector/v_lshlrev pattern which only accepts VGPR32. This causes isel to insert an illegal copy "vgpr32 = copy vgpr16" between def and use. In the end this illegal copy confuses cse pass and trigger wrong code elimination. Remove the packed build_vector pattern from true16. After removal, ISel will use vgpr16 build_vector patterns instead.
Diffstat (limited to 'llvm/lib/Support/ModRef.cpp')
0 files changed, 0 insertions, 0 deletions