mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-27 04:18:42 +00:00
------------------------------------------------------------------------ r228957 | bsteinbr | 2015-02-12 13:04:22 -0800 (Thu, 12 Feb 2015) | 14 lines Fix a crash in the assumption cache when inlining indirect function calls 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/branches/release_36@228965 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
|
|
}
|