mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
5647f7ac6b
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 llvm-svn: 228957
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
|
|
}
|