mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
47b4cfa685
This test stresses verify-uselistorder. PR24755 is caused by our ignoring uses when they occur in the function personality slot, the prologue data slot, or the prefix data slot. llvm-svn: 247292
58 lines
1.1 KiB
LLVM
58 lines
1.1 KiB
LLVM
; RUN: verify-uselistorder %s
|
|
; XFAIL: *
|
|
|
|
; Test 1
|
|
@g1 = global i8 0
|
|
|
|
declare void @llvm.donothing() nounwind readnone
|
|
|
|
define void @f.no_personality1() personality i8 0 {
|
|
invoke void @llvm.donothing() to label %normal unwind label %exception
|
|
exception:
|
|
%cleanup = landingpad i8 cleanup
|
|
br label %normal
|
|
normal:
|
|
ret void
|
|
}
|
|
|
|
; Test 2
|
|
@g2 = global i8 -1
|
|
@g3 = global i8 -1
|
|
|
|
define void @f.no_personality2() personality i8 -1 {
|
|
invoke void @llvm.donothing() to label %normal unwind label %exception
|
|
exception:
|
|
%cleanup = landingpad i8 cleanup
|
|
br label %normal
|
|
normal:
|
|
ret void
|
|
}
|
|
|
|
; Test 3
|
|
declare void @f1() prefix i32 1
|
|
|
|
define void @test1() {
|
|
%t1 = alloca half ; Implicit i32 1 used here.
|
|
%t2 = alloca float
|
|
ret void
|
|
}
|
|
|
|
; Test 4
|
|
declare void @f2() prefix i32 2
|
|
|
|
define void @test2(i32* %word) {
|
|
%cmpxchg.0 = cmpxchg i32* %word, i32 0, i32 2 monotonic monotonic
|
|
%cmpxchg.1 = cmpxchg i32* %word, i32 0, i32 2 acq_rel monotonic
|
|
ret void
|
|
}
|
|
|
|
; Test 5
|
|
@g4 = global i32 3
|
|
@g5 = global i32 3
|
|
declare void @test3() prefix i32 3
|
|
|
|
; Test 6
|
|
@g6 = global i32 4
|
|
@g7 = global i32 4
|
|
declare void @c() prologue i32 4
|