HomePhabricator

[analyzer] Add checker for correct usage of MPI API in C and C++.

Authored by dcoughlin on Jun 6 2016, 9:47 AM.

Description

[analyzer] Add checker for correct usage of MPI API in C and C++.

This commit adds a static analysis checker to check for the correct usage of the
MPI API in C and C++.

3 path-sensitive checks are included:

  • Double nonblocking: Double request usage by nonblocking calls without intermediate wait.
  • Missing wait: Nonblocking call without matching wait.
  • Unmatched wait: Waiting for a request that was never used by a nonblocking call.

Examples of how to use the checker can be found
at https://github.com/0ax1/MPI-Checker

Reviewers: zaks.anna

A patch by Alexander Droste!

Differential Revision: http://reviews.llvm.org/D12761

llvm-svn: 271907

Details