Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit 47508eb

Browse files
committed
PNaCl: Check we don't crash in -replace-ptrs-with-ints with odd metadata operands.
When LLVM proper is merge with `pnacl-llvm`, ensure the recent metadata changes don't cause a regression in `pnacl-llvm`. BUG= [email protected], [email protected] Review URL: https://codereview.chromium.org/1085483003
1 parent e5c16c8 commit 47508eb

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

test/Transforms/NaCl/replace-ptrs-with-ints.ll

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -416,11 +416,19 @@ define void @debug_declare(i32 %val) {
416416
define void @debug_value(i32 %val, i8* %ptr) {
417417
tail call void @llvm.dbg.value(metadata !{i32 %val}, i64 1, metadata !1, metadata !14)
418418
tail call void @llvm.dbg.value(metadata !{i8* %ptr}, i64 2, metadata !1, metadata !14)
419+
420+
; check that we don't crash when encountering odd things:
421+
tail call void @llvm.dbg.value(metadata !{i8* null}, i64 3, metadata !1, metadata !14)
422+
tail call void @llvm.dbg.value(metadata !{i8* undef}, i64 4, metadata !1, metadata !14)
423+
tail call void @llvm.dbg.value(metadata !{}, i64 5, metadata !1, metadata !14)
419424
ret void
420425
}
421426
; CHECK: define void @debug_value(i32 %val, i32 %ptr) {
422427
; CHECK-NEXT: call void @llvm.dbg.value(metadata !{null}, i64 1, metadata !1, metadata !14)
423428
; CHECK-NEXT: call void @llvm.dbg.value(metadata !{null}, i64 2, metadata !1, metadata !14)
429+
; CHECK-NEXT: call void @llvm.dbg.value(metadata !15, i64 3, metadata !1, metadata !14)
430+
; CHECK-NEXT: call void @llvm.dbg.value(metadata !16, i64 4, metadata !1, metadata !14)
431+
; CHECK-NEXT: call void @llvm.dbg.value(metadata !2, i64 5, metadata !1, metadata !14)
424432
; CHECK-NEXT: ret void
425433

426434

0 commit comments

Comments
 (0)