llvm-6502/test/Transforms/ConstantMerge/2011-01-15-EitherOrder.ll
Nick Lewycky 2820c25e84 Make constmerge a two-pass algorithm so that it won't miss merging
opporuntities. Fixes PR8978.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123541 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-15 18:14:21 +00:00

19 lines
459 B
LLVM

; RUN: opt -constmerge %s -S -o - | FileCheck %s
; PR8978
declare i32 @zed(%struct.foobar*, %struct.foobar*)
%struct.foobar = type { i32 }
; CHECK: bar.d
@bar.d = constant %struct.foobar zeroinitializer, align 4
; CHECK-NOT: foo.d
@foo.d = internal constant %struct.foobar zeroinitializer, align 4
define i32 @main() nounwind ssp {
entry:
; CHECK: bar.d
%call2 = tail call i32 @zed(%struct.foobar* @foo.d, %struct.foobar* @bar.d)
nounwind
ret i32 0
}