]> granicus.if.org Git - llvm/commit
This patch adds a ssa_copy intrinsic, as part of splitting up D29316.
authorDaniel Berlin <dberlin@dberlin.org>
Tue, 7 Feb 2017 19:29:25 +0000 (19:29 +0000)
committerDaniel Berlin <dberlin@dberlin.org>
Tue, 7 Feb 2017 19:29:25 +0000 (19:29 +0000)
commitf2da6f93fe89f8be8331a0e84abdff1a19a2914b
tree785937ff113d38b300b967916b8595ee4f592f66
parente851e528386d3cbb12bc7f5b687241559f5aa867
This patch adds a ssa_copy intrinsic, as part of splitting up D29316.

Summary:
The intrinsic, marked as returning it's first argument, has no code
generation effect (though currently not every optimization pass knows
that intrinsics with the returned attribute can be looked through).

It is about to be used to by the PredicateInfo pass to attach
predicate information to existing operands, and be able to tell what
the predicate information affects.

We deliberately do not attach any info through a second operand so
that the intrinsics do not need to dominate the comparisons/etc (since
in the case of assume, we may want to push them up the post-dominator
tree).

Reviewers: davide, sanjoy

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294341 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LangRef.rst
include/llvm/IR/Intrinsics.td