Teach the inliner to track deoptimization state
authorSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 18 Nov 2015 06:23:38 +0000 (06:23 +0000)
committerSanjoy Das <sanjoy@playingwithpointers.com>
Wed, 18 Nov 2015 06:23:38 +0000 (06:23 +0000)
commitaca81124422db568eb596f06fb0ae8e90118e71c
tree82a51846b19d5ae1432139219631b173effe0d6f
parentcfc74b78b13cd839c49f1f2b0b7033f32c5c1109
Teach the inliner to track deoptimization state

Summary:
This change teaches LLVM's inliner to track and suitably adjust
deoptimization state (tracked via deoptimization operand bundles) as it
inlines through call sites.  The operation is described in more detail
in the LangRef changes.

Reviewers: reames, majnemer, chandlerc, dexonsmith

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D14552

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253438 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LangRef.rst
include/llvm/IR/InstrTypes.h
include/llvm/IR/Instructions.h
include/llvm/Transforms/Utils/Cloning.h
lib/IR/Instructions.cpp
lib/Transforms/Utils/CloneFunction.cpp
lib/Transforms/Utils/InlineFunction.cpp
test/Transforms/Inline/deopt-bundles.ll [new file with mode: 0644]