HomePhabricator

[Clang][Driver] Disable llvm passes for the first host OpenMP offload…

Authored by sdmitriev on Jan 30 2020, 10:14 AM.

Description

[Clang][Driver] Disable llvm passes for the first host OpenMP offload compilation

Summary: With OpenMP offloading host compilation is done in two phases to capture host IR that is passed to all device compilations as input. But it turns out that we currently run entire LLVM optimization pipeline on host IR on both compilations which may have unpredictable effects on the resulting code. This patch fixes this problem by disabling LLVM passes on the first compilation, so the host IR that is passed to device compilations will be captured right after front end.

Reviewers: ABataev, jdoerfert, hfinkel

Reviewed By: ABataev

Subscribers: guansong, cfe-commits

Tags: #clang

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