[PATCH] Introduce the ScopArrayInfo class.
Johannes Doerfert
doerfert at cs.uni-saarland.de
Fri Oct 3 18:45:10 PDT 2014
Hi grosser, sebpop, dpeixott, simbuerg,
This class allows to store information about the arrays in the SCoP.
For each base pointer in the SCoP one object is created storing the
type and dimension sizes of the array. The objects can be obtained via
the SCoP, a MemoryAccess or the isl_id associated with the output
dimension of a MemoryAccess (the description of what is accessed).
So far we use the information in the IslExprBuilder to create the
right base type before indexing into the base array. This fixes the
bug http://llvm.org/bugs/show_bug.cgi?id=21113 (both test cases are
included). On top of that we can now build runtime alias checks for
delinearized arrays as the dimension sizes are also part of the
ScopArrayInfo objects.
http://reviews.llvm.org/D5613
Files:
include/polly/CodeGen/IslExprBuilder.h
include/polly/ScopInfo.h
lib/Analysis/ScopInfo.cpp
lib/CodeGen/IslCodeGeneration.cpp
lib/CodeGen/IslExprBuilder.cpp
lib/Exchange/JSONExporter.cpp
test/Isl/CodeGen/MemAccess/codegen_constant_offset.ll
test/Isl/CodeGen/MemAccess/codegen_simple.ll
test/Isl/CodeGen/MemAccess/codegen_simple_float.ll
test/Isl/CodeGen/MemAccess/codegen_simple_md.ll
test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
test/Isl/CodeGen/aliasing_different_base_and_access_type.ll
test/Isl/CodeGen/aliasing_struct_element.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5613.14419.patch
Type: text/x-patch
Size: 23696 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141004/ffb4ef5b/attachment.bin>
More information about the llvm-commits
mailing list