[PATCH] D53160: AMDGPU: Restrict DS load/store vectorizing on SI

Nicolai Hähnle via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 11 12:27:13 PDT 2018


nhaehnle created this revision.
nhaehnle added reviewers: arsenm, mareko.
Herald added subscribers: t-tye, tpr, dstuttard, yaxunl, wdng, jvesely, kzhuravl, jholewinski.

To workaround a hardware issue in the (base + offset) calculation
when base is negative.

This fixes visible corruption in Hitman on SI (easily reproducible
by running benchmark mode).

This regresses code generation on SI quite a bit. I'm going to
follow up with a patch to reduce the impact.

Change-Id: Ia178d207a5e2ac38ae7cd98b532ea2ae74704e5f
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99923


Repository:
  rL LLVM

https://reviews.llvm.org/D53160

Files:
  include/llvm/Analysis/TargetTransformInfo.h
  include/llvm/Analysis/TargetTransformInfoImpl.h
  lib/Analysis/TargetTransformInfo.cpp
  lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  lib/Target/NVPTX/NVPTXTargetTransformInfo.h
  lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
  test/Transforms/LoadStoreVectorizer/AMDGPU/ds-bounds.ll
  test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
  test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
  test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
  test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D53160.169270.patch
Type: text/x-patch
Size: 23817 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181011/abfd8cb8/attachment.bin>


More information about the llvm-commits mailing list