mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-12 14:17:59 +00:00
53a7b568b2
Summary: Instances of the AssumptionCache are per function, so we can't re-use the same AssumptionCache instance when recursing in the CallAnalyzer to analyze a different function. Instead we have to pass the AssumptionCacheTracker to the CallAnalyzer so it can get the right AssumptionCache on demand. Reviewers: hfinkel Subscribers: llvm-commits, hans Differential Revision: http://reviews.llvm.org/D7533 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228957 91177308-0d34-0410-b5e6-96231b3b80d8
20 lines
378 B
LLVM
20 lines
378 B
LLVM
; RUN: opt < %s -inline -disable-output 2>/dev/null
|
|
; This test used to trigger an assertion in the assumption cache when
|
|
; inlining the indirect call
|
|
declare void @llvm.assume(i1)
|
|
|
|
define void @foo() {
|
|
ret void
|
|
}
|
|
|
|
define void @bar(void ()*) {
|
|
call void @llvm.assume(i1 true)
|
|
call void %0();
|
|
ret void
|
|
}
|
|
|
|
define void @baz() {
|
|
call void @bar(void ()* @foo)
|
|
ret void
|
|
}
|