[all-commits] [llvm/llvm-project] 28518d: [InlineFunction] Handle return attributes on call ...
annamthomas via All-commits
all-commits at lists.llvm.org
Tue Mar 31 11:35:50 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 28518d9ae39ff5c6044e230d58b6ae28b0252cae
https://github.com/llvm/llvm-project/commit/28518d9ae39ff5c6044e230d58b6ae28b0252cae
Author: Anna Thomas <anna at azul.com>
Date: 2020-03-31 (Tue, 31 Mar 2020)
Changed paths:
M clang/test/CodeGen/builtins-systemz-zvector.c
M clang/test/CodeGen/builtins-systemz-zvector2.c
M clang/test/CodeGen/movbe-builtins.c
M clang/test/CodeGen/rot-intrinsics.c
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Transforms/Inline/ret_attr_update.ll
Log Message:
-----------
[InlineFunction] Handle return attributes on call within inlined body
Consider a callee function that has a call (C) within it which feeds
into the return. When we inline that callee into a callsite that has
return attributes, we can backward propagate those attributes to the
call (C) within that inlined callee body.
This is safe to do so only if we can guarantee transfer of execution to
successor in the window of instructions between return value (i.e. the
call C) and the return instruction.
See added test cases.
Reviewed-By: reames, jdoerfert
Differential Revision: https://reviews.llvm.org/D76140
More information about the All-commits
mailing list