]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/omp-low.c
* omp-low.c (extract_omp_for_data): For collapsed loops,
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 16 May 2013 10:43:33 +0000 (10:43 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 16 May 2013 10:43:33 +0000 (10:43 +0000)
commit8e6b4515ce79ba3656424dd3b5aaa23e3c3b9236
treebb79795b8f80069dd0b22d37e59aa3d81ee9f34d
parent5c62c52af38b00da95829f6034136950f9b91d09
* omp-low.c (extract_omp_for_data): For collapsed loops,
if at least one of the loops is known at compile time to
iterate zero times, set count to 0.
(expand_omp_regimplify_p): New function.
(expand_omp_for_generic): For collapsed loops, if at least
one of the loops isn't known to iterate at least once,
add runtime check with setting count to 0.
(expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
For unsigned types if it isn't known at compile time that
the loop will iterate at least once, add runtime check to bypass
the whole loop if initial condition isn't true.

* testsuite/libgomp.c/loop-13.c: New test.
* testsuite/libgomp.c/loop-14.c: New test.
* testsuite/libgomp.c/loop-15.c: New test.
* testsuite/libgomp.c++/loop-13.C: New test.
* testsuite/libgomp.c++/loop-14.C: New test.
* testsuite/libgomp.c++/loop-15.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198966 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/omp-low.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.c++/loop-13.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c++/loop-14.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c++/loop-15.C [new file with mode: 0644]
libgomp/testsuite/libgomp.c/loop-13.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c/loop-14.c [new file with mode: 0644]
libgomp/testsuite/libgomp.c/loop-15.c [new file with mode: 0644]