mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-26 05:25:47 +00:00
fix an IPSCCP bug I introduced when I changed IPSCCP to start working on
functions that don't have local linkage. Basically, we need to be more careful about propagating argument information to functions whose results we aren't tracking. This fixes a miscompilation of LLVMCConfigurationEmitter.cpp when built with an llvm-gcc that has ipsccp enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85923 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -174,4 +174,24 @@ define i32 @test7b() {
|
||||
; CHECK-NEXT: ret i32 36
|
||||
}
|
||||
|
||||
;;======================== test8
|
||||
|
||||
|
||||
define internal {} @test8a(i32 %A, i32* %P) {
|
||||
store i32 %A, i32* %P
|
||||
ret {} {}
|
||||
; CHECK: @test8a
|
||||
; CHECK-NEXT: store i32 5,
|
||||
; CHECK-NEXT: ret
|
||||
}
|
||||
|
||||
define void @test8b(i32* %P) {
|
||||
%X = call {} @test8a(i32 5, i32* %P)
|
||||
ret void
|
||||
; CHECK: define void @test8b
|
||||
; CHECK-NEXT: call {} @test8a
|
||||
; CHECK-NEXT: ret void
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user