[PATCH] D31490: Support arbitrary address space pointers in masked gather/scatter intrinsics

Elad Cohen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 30 01:41:39 PDT 2017


eladcohen created this revision.

Fixes PR31789 - When loop-vectorize tries to use these intrinsics for a non-default address space pointer we fail with a "Calling a function with a bad signature!" assertion. This patch tries to solve this by adding the 'vector of pointers' argument as an overloaded type which will determine the address space.


https://reviews.llvm.org/D31490

Files:
  docs/LangRef.rst
  include/llvm/IR/Intrinsics.h
  include/llvm/IR/Intrinsics.td
  lib/IR/AutoUpgrade.cpp
  lib/IR/Function.cpp
  lib/IR/IRBuilder.cpp
  test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
  test/Analysis/CostModel/X86/vector_gep.ll
  test/Assembler/auto_upgrade_intrinsics.ll
  test/CodeGen/X86/masked_gather_scatter.ll
  test/Transforms/FunctionAttrs/readattrs.ll
  test/Transforms/GVN/2016-08-30-MaskedScatterGather.ll
  test/Transforms/InstCombine/masked_intrinsics.ll
  test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
  test/Transforms/LoopVectorize/X86/gather_scatter.ll
  test/Transforms/LoopVectorize/X86/scatter_crash.ll
  test/Transforms/NewGVN/2016-08-30-MaskedScatterGather.ll
  test/Verifier/scatter_gather.ll
  utils/TableGen/IntrinsicEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31490.93452.patch
Type: text/x-patch
Size: 74959 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170330/fe8cd8a5/attachment.bin>


More information about the llvm-commits mailing list