aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
diff options
context:
space:
mode:
authorAnna Thomas <anna@azul.com>2021-07-27 09:48:13 -0400
committerAnna Thomas <anna@azul.com>2021-07-27 10:57:05 -0400
commit8ee5759fd50d147328f9e2a7ca9d6894721d0770 (patch)
treeec74c1f165021400d188fcfcb4a911163a4f5de8 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
parentd225de60c933d8feffde917c49a5bbb72530ae28 (diff)
downloadllvm-8ee5759fd50d147328f9e2a7ca9d6894721d0770.zip
llvm-8ee5759fd50d147328f9e2a7ca9d6894721d0770.tar.gz
llvm-8ee5759fd50d147328f9e2a7ca9d6894721d0770.tar.bz2
Strip undef implying attributes when moving calls
When hoisting/moving calls to locations, we strip unknown metadata. Such calls are usually marked `speculatable`, i.e. they are guaranteed to not cause undefined behaviour when run anywhere. So, we should strip attributes that can cause immediate undefined behaviour if those attributes are not valid in the context where the call is moved to. This patch introduces such an API and uses it in relevant passes. See updated tests. Fix for PR50744. Reviewed By: nikic, jdoerfert, lebedev.ri Differential Revision: https://reviews.llvm.org/D104641
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions