llvm-project/polly/test/Isl/CodeGen/MemAccess
Tobias Grosser e1ff0cf2eb Relax assert when setting access functions with invariant base pointers
Summary:
Instead of forbidding such access functions completely, we verify that their
base pointer has been hoisted and only assert in case the base pointer was
not hoisted.

I was trying for a little while to get a test case that ensures the assert is
correctly fired in case of invariant load hoisting being disabled, but I could
not find a good way to do so, as llvm-lit immediately aborts if a command
yields a non-zero return value. As we do not generally test our asserts,
not having a test case here seems OK.

This resolves http://llvm.org/PR31494

Suggested-by: Michael Kruse <llvm@meinersbur.de>

Reviewers: efriedma, jdoerfert, Meinersbur, gareevroman, sebpop, zinob, huihuiz, pollydev

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D28798

llvm-svn: 292213
2017-01-17 12:00:42 +00:00
..
bad_alignment.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
bad_alignment___%for.cond---%for.end.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_address_space.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
codegen_constant_offset.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
codegen_constant_offset___%for.cond---%for.end.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_constant_offset___%for.cond---%for.end.jscop.transformed [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_simple.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
codegen_simple___%for.cond---%for.end.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_simple___%for.cond---%for.end.jscop.transformed [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_simple_float.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
codegen_simple_md.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
codegen_simple_md___%for.cond---%for.end6.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withconst [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withoutconst [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
codegen_simple_md_float.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
create_arrays.ll Store the size of the outermost dimension in case of newly created arrays that require memory allocation. 2016-09-12 17:08:31 +00:00
create_arrays___%bb9---%bb26.jscop Store the size of the outermost dimension in case of newly created arrays that require memory allocation. 2016-09-12 17:08:31 +00:00
create_arrays___%bb9---%bb26.jscop.transformed Store the size of the outermost dimension in case of newly created arrays that require memory allocation. 2016-09-12 17:08:31 +00:00
default_aligned_new_access_function.ll Add space between access string and follow-up. 2016-08-26 15:43:52 +00:00
different_types.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
different_types___%bb2---%bb18.jscop Codegen: Support memory accesses with different types 2015-09-29 06:44:38 +00:00
generate-all.ll [CodeGen] Add flag to code-generate most memory access expressions 2016-11-22 20:21:16 +00:00
invariant_base_ptr.ll Relax assert when setting access functions with invariant base pointers 2017-01-17 12:00:42 +00:00
invariant_base_ptr___%loop---%exit.jscop Add test showing the update of access functions with in-scop defined base ptrs 2017-01-16 17:51:28 +00:00
map_scalar_access.ll Allow mapping scalar MemoryAccesses to array elements. 2016-09-01 19:53:31 +00:00
map_scalar_access___%outer.for---%return.jscop Store the size of the outermost dimension in case of newly created arrays that require memory allocation. 2016-09-12 17:08:31 +00:00
map_scalar_access___%outer.for---%return.jscop.transformed Store the size of the outermost dimension in case of newly created arrays that require memory allocation. 2016-09-12 17:08:31 +00:00
multiple_types.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
multiple_types___%bb1---%bb22.jscop Support accesses with differently sized types to the same array 2016-02-04 13:18:42 +00:00
simple.ll tests: Drop -polly-detect-unprofitable and -polly-no-early-exit 2015-10-06 15:36:44 +00:00
simple___%for.cond---%for.end.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple___%for.cond---%for.end.jscop.transformed [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple___%for.cond---%for.end14.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple___%for.cond---%for.end14.jscop.transformed [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple___%for.cond4---%for.end14.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple___%for.cond4---%for.end14.jscop.transformed [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple_analyze.ll Add space between access string and follow-up. 2016-08-26 15:43:52 +00:00
simple_stride___%for.cond---%for.end.jscop [NFC] Drop the "scattering" tuple name 2015-02-02 13:45:54 +00:00
simple_stride_test.ll This reverts recent expression type changes 2016-06-11 19:17:15 +00:00
update_access_functions.ll tests: make test cases more robust using regexp 2016-07-21 11:48:31 +00:00
update_access_functions___%loop1---%exit.jscop tests: fix order of memory accesses to ensure import succeeds 2016-07-21 07:12:17 +00:00
update_access_functions___%loop1---%exit.jscop.transformed tests: fix order of memory accesses to ensure import succeeds 2016-07-21 07:12:17 +00:00