<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/llvm.git/openmp/runtime/src/kmp_dispatch.cpp, branch EmptyLineAfterFunctionDefinition</title>
<subtitle>github.com: llvm/llvm-project.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/'/>
<entry>
<title>[OpenMP] Change monotonicity of dynamic schedule</title>
<updated>2021-09-07T13:18:46+00:00</updated>
<author>
<name>Nawrin Sultana</name>
<email>nawrin.sultana@intel.com</email>
</author>
<published>2021-08-31T21:35:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=c24da72fa434c074782c92bf17ac1e5504f67507'/>
<id>c24da72fa434c074782c92bf17ac1e5504f67507</id>
<content type='text'>
This patch changes the default monotonicity of dynamic schedule from
monotonic to non-monotonic when no modifier is specified.

Differential Revision: https://reviews.llvm.org/D109026
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch changes the default monotonicity of dynamic schedule from
monotonic to non-monotonic when no modifier is specified.

Differential Revision: https://reviews.llvm.org/D109026
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Add a few small fixes</title>
<updated>2021-08-16T15:02:49+00:00</updated>
<author>
<name>Peyton, Jonathan L</name>
<email>jonathan.l.peyton@intel.com</email>
</author>
<published>2021-06-28T21:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=b4a1f441d90c5cb324efe45170614957ab666382'/>
<id>b4a1f441d90c5cb324efe45170614957ab666382</id>
<content type='text'>
* Add comment to help ensure new construct data are added in two places
* Check for division by zero in the loop worksharing code
* Check for syntax errors in parrange parsing

Differential Revision: https://reviews.llvm.org/D105929
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add comment to help ensure new construct data are added in two places
* Check for division by zero in the loop worksharing code
* Check for syntax errors in parrange parsing

Differential Revision: https://reviews.llvm.org/D105929
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] libomp: cleanup: minor fixes to silence static analyzer.</title>
<updated>2021-08-16T10:39:23+00:00</updated>
<author>
<name>AndreyChurbanov</name>
<email>andrey.churbanov@intel.com</email>
</author>
<published>2021-08-16T10:39:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=52cac541d4316a516632f6b71ab6d0a1d7c2be37'/>
<id>52cac541d4316a516632f6b71ab6d0a1d7c2be37</id>
<content type='text'>
Added couple more checks to silence KlocWork static code analyzer.

Differential Revision: https://reviews.llvm.org/D107348
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added couple more checks to silence KlocWork static code analyzer.

Differential Revision: https://reviews.llvm.org/D107348
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP][NFC] libomp: fix wrong debug assertion.</title>
<updated>2021-06-24T23:02:14+00:00</updated>
<author>
<name>AndreyChurbanov</name>
<email>andrey.churbanov@intel.com</email>
</author>
<published>2021-06-24T23:02:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=b2787945f9cd2b4705dedea079b4d532c27817f9'/>
<id>b2787945f9cd2b4705dedea079b4d532c27817f9</id>
<content type='text'>
Normalized bounds of chunk of iterations to steal from are inclusive,
so upper bound should not be decremented in expression to check.
Problem was in attempt to steal iterations 0:0, that caused assertion after
wrong decrement. Reported in comment to https://reviews.llvm.org/D103648.

Differential Revision: https://reviews.llvm.org/D104880
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Normalized bounds of chunk of iterations to steal from are inclusive,
so upper bound should not be decremented in expression to check.
Problem was in attempt to steal iterations 0:0, that caused assertion after
wrong decrement. Reported in comment to https://reviews.llvm.org/D103648.

Differential Revision: https://reviews.llvm.org/D104880
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] libomp: fix dynamic loop dispatcher</title>
<updated>2021-06-22T13:29:01+00:00</updated>
<author>
<name>AndreyChurbanov</name>
<email>andrey.churbanov@intel.com</email>
</author>
<published>2021-06-22T13:29:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=5dd4d0d46fb892975bbb3a086da5a3a9996ced4d'/>
<id>5dd4d0d46fb892975bbb3a086da5a3a9996ced4d</id>
<content type='text'>
Restructured dynamic loop dispatcher code.
Fixed use of dispatch buffers for nonmonotonic dynamic (static_steal) schedule:
- eliminated possibility of stealing iterations of the wrong loop when victim
  thread changed its buffer to work on another loop;
- fixed race when victim thread changed its buffer to work in nested parallel;
- eliminated "static" property of the schedule, that is now a single thread can
  execute whole loop.

Differential Revision: https://reviews.llvm.org/D103648
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Restructured dynamic loop dispatcher code.
Fixed use of dispatch buffers for nonmonotonic dynamic (static_steal) schedule:
- eliminated possibility of stealing iterations of the wrong loop when victim
  thread changed its buffer to work on another loop;
- fixed race when victim thread changed its buffer to work in nested parallel;
- eliminated "static" property of the schedule, that is now a single thread can
  execute whole loop.

Differential Revision: https://reviews.llvm.org/D103648
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Check loc for NULL before dereferencing it</title>
<updated>2021-06-07T14:45:48+00:00</updated>
<author>
<name>Bryan Chan</name>
<email>bryan.chan@huawei.com</email>
</author>
<published>2021-06-07T14:37:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=54f059c9007b48e4ff700ac587cbb137fff91fb7'/>
<id>54f059c9007b48e4ff700ac587cbb137fff91fb7</id>
<content type='text'>
The ident_t * argument in __kmp_get_monotonicity was being used without
a customary NULL check, causing the function to crash in a Debug build.
Release builds were not affected thanks to dead store elimination.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ident_t * argument in __kmp_get_monotonicity was being used without
a customary NULL check, causing the function to crash in a Debug build.
Release builds were not affected thanks to dead store elimination.
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Misc. changes that add or remove pointer/bound checks</title>
<updated>2021-03-23T23:55:08+00:00</updated>
<author>
<name>Hansang Bae</name>
<email>hansang.bae@intel.com</email>
</author>
<published>2021-03-11T23:34:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=467f39249dbb6953f2f95ba68a52b20fb24b91af'/>
<id>467f39249dbb6953f2f95ba68a52b20fb24b91af</id>
<content type='text'>
-- Added or moved checks to appropriate places.
-- Removed ineffective null check where the pointer is already being
   dereferenced around the code.
-- Initialized variables that can be used without definitions.
-- Added call to dlclose/FreeLibrary in OMPT tool activation.
-- Added a new build compiler definition.

Differential Revision: https://reviews.llvm.org/D98584
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
-- Added or moved checks to appropriate places.
-- Removed ineffective null check where the pointer is already being
   dereferenced around the code.
-- Initialized variables that can be used without definitions.
-- Added call to dlclose/FreeLibrary in OMPT tool activation.
-- Added a new build compiler definition.

Differential Revision: https://reviews.llvm.org/D98584
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Fix potential integer overflow in dynamic schedule code</title>
<updated>2021-03-08T15:43:05+00:00</updated>
<author>
<name>Peyton, Jonathan L</name>
<email>jonathan.l.peyton@intel.com</email>
</author>
<published>2021-02-01T20:08:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=e2738b3758a9d5a6dfdc5a6768046b44a1b9f135'/>
<id>e2738b3758a9d5a6dfdc5a6768046b44a1b9f135</id>
<content type='text'>
Restrict the chunk_size * chunk_num to only occur for valid
chunk_nums and reimplement calculating the limit to avoid overflow.

Differential Revision: https://reviews.llvm.org/D96747
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Restrict the chunk_size * chunk_num to only occur for valid
chunk_nums and reimplement calculating the limit to avoid overflow.

Differential Revision: https://reviews.llvm.org/D96747
</pre>
</div>
</content>
</entry>
<entry>
<title>Added API for "masked" construct via two entrypoints: __kmpc_masked,</title>
<updated>2021-03-05T15:29:57+00:00</updated>
<author>
<name>tlwilmar</name>
<email>terry.l.wilmarth@intel.com</email>
</author>
<published>2021-03-05T15:21:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=97d000cfc6d498ec8f4cde48d75b6d0ddc390c38'/>
<id>97d000cfc6d498ec8f4cde48d75b6d0ddc390c38</id>
<content type='text'>
and __kmpc_end_masked. The "master" construct is deprecated. Changed
proc-bind keyword from "master" to "primary". Use of both master
construct and master as proc-bind keyword is still allowed, but
deprecated.

Remove references to "master" in comments and strings, and replace
with "primary" or "primary thread". Function names and variables were
not touched, nor were references to deprecated master construct. These
can be updated over time. No new code should refer to master.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and __kmpc_end_masked. The "master" construct is deprecated. Changed
proc-bind keyword from "master" to "primary". Use of both master
construct and master as proc-bind keyword is still allowed, but
deprecated.

Remove references to "master" in comments and strings, and replace
with "primary" or "primary thread". Function names and variables were
not touched, nor were references to deprecated master construct. These
can be updated over time. No new code should refer to master.
</pre>
</div>
</content>
</entry>
<entry>
<title>[OpenMP] Help static loop code avoid over/underflow</title>
<updated>2021-02-22T19:22:01+00:00</updated>
<author>
<name>Peyton, Jonathan L</name>
<email>jonathan.l.peyton@intel.com</email>
</author>
<published>2021-01-29T20:02:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/llvm.git/commit/?id=56223b1e91ed444a054aa9bd20878d0b62c7b53b'/>
<id>56223b1e91ed444a054aa9bd20878d0b62c7b53b</id>
<content type='text'>
This code alleviates some pathological loop parameters (lower,
upper, stride) within calculations involved in the static loop code.  It
bounds the chunk size to the trip count if it is greater than the trip
count and also minimizes problematic code for when trip count &lt; nth.

Differential Revision: https://reviews.llvm.org/D96426
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This code alleviates some pathological loop parameters (lower,
upper, stride) within calculations involved in the static loop code.  It
bounds the chunk size to the trip count if it is greater than the trip
count and also minimizes problematic code for when trip count &lt; nth.

Differential Revision: https://reviews.llvm.org/D96426
</pre>
</div>
</content>
</entry>
</feed>
