[all-commits] [llvm/llvm-project] 06cfdd: [OpenMP][Fix] Properly inherit calling convention
Joseph Huber via All-commits
all-commits at lists.llvm.org
Mon Jan 24 17:38:29 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 06cfdd5224bf5496e3d3dbdb9f73e77161ad5438
https://github.com/llvm/llvm-project/commit/06cfdd5224bf5496e3d3dbdb9f73e77161ad5438
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2022-01-24 (Mon, 24 Jan 2022)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/spmdization.ll
Log Message:
-----------
[OpenMP][Fix] Properly inherit calling convention
Previously in OpenMPOpt we did not correctly inherit the calling
convention of the callee when creating new OpenMP runtime calls. This
created issues when the calling convention was changed during
`GlobalOpt` but a new call was creating without the correct calling
convention. This lead to the call being replaced with a poison value in
`InstCombine` due to undefined behaviour and causing large portions of
the program to be incorrectly eliminated. This patch correctly inherits
the existing calling convention from the callee.
Reviewed By: tianshilei1992, jdoerfert
Differential Revision: https://reviews.llvm.org/D118059
Commit: 5eb49009ebe6f1672e6c72f8ea1fe07d4018f682
https://github.com/llvm/llvm-project/commit/5eb49009ebe6f1672e6c72f8ea1fe07d4018f682
Author: Joseph Huber <jhuber6 at vols.utk.edu>
Date: 2022-01-24 (Mon, 24 Jan 2022)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/test/Transforms/OpenMP/replace_globalization.ll
M llvm/test/Transforms/OpenMP/spmdization.ll
Log Message:
-----------
[OpenMP] Add more identifier to created shared globals
Currenly we push some variables to a global constant containing shared
memory as an optimization. This generated constant had internal linkage
and should not have collided with any known identifiers in the
translation unit. However, there have been observed cases of this
optimiztaion unintentionally colliding with undocumented PTX
identifiers. This patch adds a suffix to the created globals to
hopefully bypass this.
Depends on D118059
Reviewed By: tianshilei1992
Differential Revision: https://reviews.llvm.org/D118068
Compare: https://github.com/llvm/llvm-project/compare/16bff06790a7...5eb49009ebe6
More information about the All-commits
mailing list