--- /dev/null
+; 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