On Thu, 2018-07-26 at 10:51 -0700, Francisco Jerez wrote: > Jan Vesely <jan.ves...@rutgers.edu> writes: > > > It's OK to pass them in memory, which is what kernel invocation needs. > > Fixes AMDGCN regressions since llvm r337535 ("Reapply "AMDGPU: Fix handling > > of alignment padding in DAG argument lowering"): > > scalar-arithmetic-char > > scalar-arithmetic-uchar > > scalar-arithemtic-short > > scalar-arithmetic-ushort > > scalar-comparison-char > > scalar-comparison-uchar > > scalar-comparison-short > > scalar-comparison-ushort > > > > Signed-off-by: Jan Vesely <jan.ves...@rutgers.edu> > > Reviewed-by: Francisco Jerez <curroje...@riseup.net>
thank you. I added cc: stable and pushed both patches. Jan > > > --- > > src/gallium/state_trackers/clover/llvm/codegen/common.cpp | 3 +-- > > src/gallium/state_trackers/clover/llvm/compat.hpp | 12 ++++++++++++ > > 2 files changed, 13 insertions(+), 2 deletions(-) > > > > diff --git a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp > > b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp > > index ddf2083f37..ca5f78940d 100644 > > --- a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp > > +++ b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp > > @@ -85,8 +85,7 @@ namespace { > > const unsigned arg_store_size = dl.getTypeStoreSize(arg_type); > > const unsigned arg_api_size = dl.getTypeAllocSize(arg_type); > > > > - const auto target_type = !arg_type->isIntegerTy() ? arg_type : > > - dl.getSmallestLegalIntType(mod.getContext(), arg_store_size * > > 8); > > + const auto target_type = compat::get_abi_type(arg_type, mod); > > const unsigned target_size = dl.getTypeStoreSize(target_type); > > const unsigned target_align = dl.getABITypeAlignment(target_type); > > > > diff --git a/src/gallium/state_trackers/clover/llvm/compat.hpp > > b/src/gallium/state_trackers/clover/llvm/compat.hpp > > index 60270d1529..975012cbda 100644 > > --- a/src/gallium/state_trackers/clover/llvm/compat.hpp > > +++ b/src/gallium/state_trackers/clover/llvm/compat.hpp > > @@ -153,6 +153,18 @@ namespace clover { > > return tm.addPassesToEmitFile(pm, os, nullptr, ft); > > #else > > return tm.addPassesToEmitFile(pm, os, ft); > > +#endif > > + } > > + > > + template<typename T, typename M> > > + T get_abi_type(const T &arg_type, const M &mod) { > > +#if HAVE_LLVM >= 0x0700 > > + return arg_type; > > +#else > > + ::llvm::DataLayout dl(&mod); > > + const unsigned arg_store_size = dl.getTypeStoreSize(arg_type); > > + return !arg_type->isIntegerTy() ? arg_type : > > + dl.getSmallestLegalIntType(mod.getContext(), arg_store_size * > > 8); > > #endif > > } > > } > > -- > > 2.16.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev -- Jan Vesely <jan.ves...@rutgers.edu>
signature.asc
Description: This is a digitally signed message part
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev