This is an archive of the discontinued LLVM Phabricator instance.

[OMPT] Align implementation of reenter frame address to latest (frozen) version of OMPT spec
ClosedPublic

Authored by protze.joachim on Aug 9 2016, 3:45 AM.

Details

Summary

The latest OMPT spec changed the semantic of a tasks reenter frame to be the application frame, that will be entered, when the runtime frame drops.
Before it was the last frame in the runtime. This doesn't work for some gcc execution pathes or even clang generated code for :
#omp task if(0)
Since there is no runtime frame between the executed task and the encountering task.

The test case compares exit and reenter addresses against addresses captured in application code

Diff Detail

Event Timeline

protze.joachim retitled this revision from to [OMPT] Align implementation of reenter frame address to latest (frozen) version of OMPT spec.
protze.joachim updated this object.
jlpeyton added inline comments.Aug 17 2016, 1:17 PM
runtime/src/kmp_tasking.c
1357

Can this be changed to NULL to be consistent?

1472

Same here.

Adding Jonas and John to list of reviewers.

protze.joachim edited edge metadata.

Replaced all
_frame = 0;
by
_frame = NULL;
for consistency.

Hahnfeld resigned from this revision.Aug 19 2016, 12:12 AM
Hahnfeld edited reviewers, added: omalyshe; removed: Hahnfeld.

LGTM from an OMPT perspective

AndreyChurbanov accepted this revision.Aug 19 2016, 6:25 AM
AndreyChurbanov edited edge metadata.

LGTM

This revision is now accepted and ready to land.Aug 19 2016, 6:25 AM
jlpeyton accepted this revision.Aug 19 2016, 2:48 PM
jlpeyton edited edge metadata.

LGTM

This revision was automatically updated to reflect the committed changes.