[PATCH] D12985: [ARM] Take into account address spaces in interleaved access vectorization

Jeroen Ketema via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 21 09:30:01 PDT 2015

jketema added inline comments.

Comment at: lib/Target/ARM/ARMISelLowering.cpp:11708
@@ +11707,3 @@
+  Type *Int8Ptr = Builder.getInt8PtrTy();
+  Ops.push_back(Builder.CreateAddrSpaceCast(
+      Builder.CreateBitCast(LI->getPointerOperand(), Int8PtrAddr), Int8Ptr));
sbaranga wrote:
> This is interesting.. We ideally wouldn't want to introduce address space casts when not necessary (I can imagine some users using the address space qualifier to help with alias analysis).
> We should be able to get a variant of the vldn intrinsic that operates on the correct address space.
Maybe. I would need some pointers on how to change the code in that case, because this would require changes to `IntrinsicsARM.td`, which I'm not very familiar with.

I'm also wondering: is alias analysis information still being used during instruction lowering or later?


More information about the llvm-commits mailing list