[PATCH] [Polly] Runtime alias checks
Johannes Doerfert
doerfert at cs.uni-saarland.de
Tue Aug 26 14:13:43 PDT 2014
Hi grosser, sebpop, simbuerg,
Allow the IslExprBuilder to compare pointers
Ensure the runtime condition is always a i1 type
Allow the IslExprBuilder to build address of expressions
[Fix] Expression builder access expressions
Access expressions (e.g., A[i]) are now treated as left hand values.
Thus, the isl expression builder will create a load of A[i] instead of
a gep pointing to the address. If the gep is needed use the address of
operator.
Build and print alias groups
This change will build and print all alias groups (minimal/maximal
accesses to possible aliasing base pointers) we have to check before
we can assume an alias free environment.
Generate runtime alias checks.
This check will also annotate the IslAst with runtime alias checks.
Most imporantly it makes -polly-use-runtime-alias-checks=true save for
the isl code generator.
http://reviews.llvm.org/D5077
Files:
include/polly/CodeGen/IslExprBuilder.h
include/polly/ScopDetection.h
include/polly/ScopInfo.h
include/polly/Support/GICHelper.h
lib/Analysis/ScopDetection.cpp
lib/Analysis/ScopInfo.cpp
lib/CodeGen/BlockGenerators.cpp
lib/CodeGen/IslAst.cpp
lib/CodeGen/IslCodeGeneration.cpp
lib/CodeGen/IslExprBuilder.cpp
test/Isl/Ast/alias_simple_1.ll
test/Isl/Ast/alias_simple_2.ll
test/Isl/Ast/alias_simple_3.ll
test/Isl/Ast/aliasing_multiple_alias_groups.ll
test/Isl/Ast/aliasing_parametric_simple_1.ll
test/Isl/Ast/aliasing_parametric_simple_2.ll
test/Isl/Ast/run-time-condition.ll
test/Isl/Ast/simple-run-time-condition.ll
test/Isl/CodeGen/MemAccess/codegen_simple_float.ll
test/Isl/CodeGen/MemAccess/codegen_simple_md_float.ll
test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop
test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop.transformed
test/Isl/CodeGen/MemAccess/simple_analyze.ll
test/Isl/CodeGen/aliasing_parametric_simple_1.ll
test/Isl/CodeGen/aliasing_parametric_simple_2.ll
test/Isl/CodeGen/multidim_2d_parametric_array_static_loop_bounds.ll
test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
test/ScopDetect/aliasing_parametric_simple_1.ll
test/ScopDetect/aliasing_parametric_simple_2.ll
test/ScopDetect/aliasing_simple_1.ll
test/ScopDetect/aliasing_simple_2.ll
test/ScopDetectionDiagnostics/ReportAlias-01.ll
test/ScopInfo/Alias-0.ll
test/ScopInfo/Alias-1.ll
test/ScopInfo/Alias-2.ll
test/ScopInfo/Alias-3.ll
test/ScopInfo/Alias-4.ll
test/ScopInfo/aliasing_multiple_alias_groups.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D5077.12968.patch
Type: text/x-patch
Size: 65503 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140826/e2a1b91c/attachment.bin>
More information about the llvm-commits
mailing list