llvm/test/Feature/OperandBundles/inliner-conservative.ll
Sanjoy Das 4935ac6889 [Inliner] Don't inline through callsites with operand bundles
Summary:
This change teaches the LLVM inliner to not inline through callsites
with unknown operand bundles.  Currently all operand bundles are
"unknown" operand bundles but in the near future we will add support for
inlining through some select kinds of operand bundles.

Reviewers: reames, chandlerc, majnemer

Subscribers: llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251141 91177308-0d34-0410-b5e6-96231b3b80d8
2015-10-23 20:09:55 +00:00

18 lines
326 B
LLVM

; RUN: opt -S -inline < %s | FileCheck %s
; Check that the inliner does not inline through arbitrary unknown
; operand bundles.
define i32 @callee() {
entry:
ret i32 2
}
define i32 @caller() {
; CHECK: @caller(
entry:
; CHECK: call i32 @callee() [ "unknown"() ]
%x = call i32 @callee() [ "unknown"() ]
ret i32 %x
}