Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1292)

Side by Side Diff: tests_lit/llvm2ice_tests/elf_container.ll

Issue 1868113002: Subzero: Shorten and normalize strings in non-DUMP builds. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Change prefixes Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tests_lit/llvm2ice_tests/bitcast.ll ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; Tests that we generate an ELF container with fields that make sense, 1 ; Tests that we generate an ELF container with fields that make sense,
2 ; cross-validating against llvm-mc. 2 ; cross-validating against llvm-mc.
3 3
4 ; For the integrated ELF writer, we can't pipe the output because we need 4 ; For the integrated ELF writer, we can't pipe the output because we need
5 ; to seek backward and patch up the file headers. So, use a temporary file. 5 ; to seek backward and patch up the file headers. So, use a temporary file.
6 ; RUN: %p2i -i %s --filetype=obj --output %t --args -O2 --verbose none \ 6 ; RUN: %p2i -i %s --filetype=obj --output %t --args -O2 --verbose none \
7 ; RUN: -allow-externally-defined-symbols \ 7 ; RUN: -allow-externally-defined-symbols \
8 ; RUN: && llvm-readobj -file-headers -sections -section-data \ 8 ; RUN: && llvm-readobj -file-headers -sections -section-data \
9 ; RUN: -relocations -symbols %t | FileCheck %s 9 ; RUN: -relocations -symbols %t | FileCheck %s
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 @double_zero_const = internal constant [8 x i8] zeroinitializer, align 32 50 @double_zero_const = internal constant [8 x i8] zeroinitializer, align 32
51 @double_zero_const2 = internal constant [8 x i8] zeroinitializer, align 8 51 @double_zero_const2 = internal constant [8 x i8] zeroinitializer, align 8
52 52
53 ; Use float/double constants to test constant pools. 53 ; Use float/double constants to test constant pools.
54 define internal float @returnFloatConst() { 54 define internal float @returnFloatConst() {
55 entry: 55 entry:
56 %f = fadd float -0.0, 0x3FF3AE1400000000 56 %f = fadd float -0.0, 0x3FF3AE1400000000
57 ret float %f 57 ret float %f
58 } 58 }
59 ; TEXT-RELOCS-LABEL: returnFloatConst 59 ; TEXT-RELOCS-LABEL: returnFloatConst
60 ; TEXT-RELOCS: movss {{.*}} R_386_32 .L$float$80000000 60 ; TEXT-RELOCS: movss {{.*}} R_386_32 {{.*}}80000000
61 ; TEXT-RELOCS: addss {{.*}} R_386_32 .L$float$3f9d70a0 61 ; TEXT-RELOCS: addss {{.*}} R_386_32 {{.*}}3f9d70a0
62 62
63 define internal double @returnDoubleConst() { 63 define internal double @returnDoubleConst() {
64 entry: 64 entry:
65 %d = fadd double 0x7FFFFFFFFFFFFFFFF, 0xFFF7FFFFFFFFFFFF 65 %d = fadd double 0x7FFFFFFFFFFFFFFFF, 0xFFF7FFFFFFFFFFFF
66 %d2 = fadd double %d, 0xFFF8000000000003 66 %d2 = fadd double %d, 0xFFF8000000000003
67 ret double %d2 67 ret double %d2
68 } 68 }
69 ; TEXT-RELOCS-LABEL: returnDoubleConst 69 ; TEXT-RELOCS-LABEL: returnDoubleConst
70 ; TEXT-RELOCS: movsd {{.*}} R_386_32 .L$double$ffffffffffffffff 70 ; TEXT-RELOCS: movsd {{.*}} R_386_32 {{.*}}ffffffffffffffff
71 ; TEXT-RELOCS: addsd {{.*}} R_386_32 .L$double$fff7ffffffffffff 71 ; TEXT-RELOCS: addsd {{.*}} R_386_32 {{.*}}fff7ffffffffffff
72 ; TEXT-RELOCS: addsd {{.*}} R_386_32 .L$double$fff8000000000003 72 ; TEXT-RELOCS: addsd {{.*}} R_386_32 {{.*}}fff8000000000003
73 73
74 ; Test intrinsics that call out to external functions. 74 ; Test intrinsics that call out to external functions.
75 define internal void @test_memcpy(i32 %iptr_dst, i32 %len) { 75 define internal void @test_memcpy(i32 %iptr_dst, i32 %len) {
76 entry: 76 entry:
77 %dst = inttoptr i32 %iptr_dst to i8* 77 %dst = inttoptr i32 %iptr_dst to i8*
78 %src = bitcast [7 x i8]* @bytes to i8* 78 %src = bitcast [7 x i8]* @bytes to i8*
79 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %dst, i8* %src, 79 call void @llvm.memcpy.p0i8.p0i8.i32(i8* %dst, i8* %src,
80 i32 %len, i32 1, i1 false) 80 i32 %len, i32 1, i1 false)
81 ret void 81 ret void
82 } 82 }
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 ; CHECK: Size: {{[1-9][0-9]*}} 378 ; CHECK: Size: {{[1-9][0-9]*}}
379 ; CHECK: Link: 0 379 ; CHECK: Link: 0
380 ; CHECK: Info: 0 380 ; CHECK: Info: 0
381 ; CHECK: AddressAlignment: 1 381 ; CHECK: AddressAlignment: 1
382 ; CHECK: EntrySize: 0 382 ; CHECK: EntrySize: 0
383 ; CHECK: } 383 ; CHECK: }
384 384
385 385
386 ; CHECK: Relocations [ 386 ; CHECK: Relocations [
387 ; CHECK: Section ({{[0-9]+}}) .rel.text { 387 ; CHECK: Section ({{[0-9]+}}) .rel.text {
388 ; CHECK: 0x7 R_386_32 .L$float$80000000 0x0 388 ; CHECK: 0x7 R_386_32 {{.*}}80000000 0x0
389 ; CHECK: 0xF R_386_32 .L$float$3f9d70a0 0x0 389 ; CHECK: 0xF R_386_32 {{.*}}3f9d70a0 0x0
390 ; CHECK: 0x27 R_386_32 .L$double$ffffffffffffffff 0x0 390 ; CHECK: 0x27 R_386_32 {{.*}}ffffffffffffffff 0x0
391 ; CHECK: 0x2F R_386_32 .L$double$fff7ffffffffffff 0x0 391 ; CHECK: 0x2F R_386_32 {{.*}}fff7ffffffffffff 0x0
392 ; CHECK: 0x37 R_386_32 .L$double$fff8000000000003 0x0 392 ; CHECK: 0x37 R_386_32 {{.*}}fff8000000000003 0x0
393 ; CHECK: 0x{{.*}} R_386_PC32 memcpy 393 ; CHECK: 0x{{.*}} R_386_PC32 memcpy
394 ; CHECK: 0x{{.*}} R_386_PC32 memset 394 ; CHECK: 0x{{.*}} R_386_PC32 memset
395 ; CHECK: 0x{{.*}} R_386_PC32 external_foo 395 ; CHECK: 0x{{.*}} R_386_PC32 external_foo
396 ; CHECK: } 396 ; CHECK: }
397 ; CHECK: Section ({{[0-9]+}}) .rel.data { 397 ; CHECK: Section ({{[0-9]+}}) .rel.data {
398 ; The set of relocations between llvm-mc and the integrated elf-writer 398 ; The set of relocations between llvm-mc and the integrated elf-writer
399 ; are different. For local symbols, llvm-mc uses the section + offset within 399 ; are different. For local symbols, llvm-mc uses the section + offset within
400 ; the section, while the integrated elf-writer refers the symbol itself. 400 ; the section, while the integrated elf-writer refers the symbol itself.
401 ; CHECK: 0x10 R_386_32 {{.*}} 0x0 401 ; CHECK: 0x10 R_386_32 {{.*}} 0x0
402 ; CHECK: 0x14 R_386_32 {{.*}} 0x0 402 ; CHECK: 0x14 R_386_32 {{.*}} 0x0
(...skipping 11 matching lines...) Expand all
414 ; CHECK-NEXT: Symbol { 414 ; CHECK-NEXT: Symbol {
415 ; CHECK-NEXT: Name: (0) 415 ; CHECK-NEXT: Name: (0)
416 ; CHECK-NEXT: Value: 0x0 416 ; CHECK-NEXT: Value: 0x0
417 ; CHECK-NEXT: Size: 0 417 ; CHECK-NEXT: Size: 0
418 ; CHECK-NEXT: Binding: Local 418 ; CHECK-NEXT: Binding: Local
419 ; CHECK-NEXT: Type: None 419 ; CHECK-NEXT: Type: None
420 ; CHECK-NEXT: Other: 0 420 ; CHECK-NEXT: Other: 0
421 ; CHECK-NEXT: Section: Undefined (0x0) 421 ; CHECK-NEXT: Section: Undefined (0x0)
422 ; CHECK-NEXT: } 422 ; CHECK-NEXT: }
423 ; CHECK: Symbol { 423 ; CHECK: Symbol {
424 ; CHECK: Name: .L$double$fff8000000000003 424 ; CHECK: Name: {{.*}}fff8000000000003
425 ; CHECK-NEXT: Value: 0x8 425 ; CHECK-NEXT: Value: 0x8
426 ; CHECK-NEXT: Size: 0 426 ; CHECK-NEXT: Size: 0
427 ; CHECK-NEXT: Binding: Local (0x0) 427 ; CHECK-NEXT: Binding: Local (0x0)
428 ; CHECK-NEXT: Type: None (0x0) 428 ; CHECK-NEXT: Type: None (0x0)
429 ; CHECK-NEXT: Other: 0 429 ; CHECK-NEXT: Other: 0
430 ; CHECK-NEXT: Section: .rodata.cst8 430 ; CHECK-NEXT: Section: .rodata.cst8
431 ; CHECK-NEXT: } 431 ; CHECK-NEXT: }
432 ; CHECK: Symbol { 432 ; CHECK: Symbol {
433 ; CHECK: Name: .L$double$ffffffffffffffff 433 ; CHECK: Name: {{.*}}ffffffffffffffff
434 ; CHECK-NEXT: Value: 0x10 434 ; CHECK-NEXT: Value: 0x10
435 ; CHECK-NEXT: Size: 0 435 ; CHECK-NEXT: Size: 0
436 ; CHECK-NEXT: Binding: Local (0x0) 436 ; CHECK-NEXT: Binding: Local (0x0)
437 ; CHECK-NEXT: Type: None (0x0) 437 ; CHECK-NEXT: Type: None (0x0)
438 ; CHECK-NEXT: Other: 0 438 ; CHECK-NEXT: Other: 0
439 ; CHECK-NEXT: Section: .rodata.cst8 439 ; CHECK-NEXT: Section: .rodata.cst8
440 ; CHECK-NEXT: } 440 ; CHECK-NEXT: }
441 ; CHECK: Symbol { 441 ; CHECK: Symbol {
442 ; CHECK: Name: .L$float$3f9d70a0 442 ; CHECK: Name: {{.*}}3f9d70a0
443 ; CHECK-NEXT: Value: 0x0 443 ; CHECK-NEXT: Value: 0x0
444 ; CHECK-NEXT: Size: 0 444 ; CHECK-NEXT: Size: 0
445 ; CHECK-NEXT: Binding: Local (0x0) 445 ; CHECK-NEXT: Binding: Local (0x0)
446 ; CHECK-NEXT: Type: None (0x0) 446 ; CHECK-NEXT: Type: None (0x0)
447 ; CHECK-NEXT: Other: 0 447 ; CHECK-NEXT: Other: 0
448 ; CHECK-NEXT: Section: .rodata.cst4 448 ; CHECK-NEXT: Section: .rodata.cst4
449 ; CHECK-NEXT: } 449 ; CHECK-NEXT: }
450 ; CHECK: Symbol { 450 ; CHECK: Symbol {
451 ; CHECK: Name: .L$float$80000000 451 ; CHECK: Name: {{.*}}80000000
452 ; CHECK-NEXT: Value: 0x4 452 ; CHECK-NEXT: Value: 0x4
453 ; CHECK-NEXT: Size: 0 453 ; CHECK-NEXT: Size: 0
454 ; CHECK-NEXT: Binding: Local (0x0) 454 ; CHECK-NEXT: Binding: Local (0x0)
455 ; CHECK-NEXT: Type: None (0x0) 455 ; CHECK-NEXT: Type: None (0x0)
456 ; CHECK-NEXT: Other: 0 456 ; CHECK-NEXT: Other: 0
457 ; CHECK-NEXT: Section: .rodata.cst4 457 ; CHECK-NEXT: Section: .rodata.cst4
458 ; CHECK-NEXT: } 458 ; CHECK-NEXT: }
459 ; CHECK: Symbol { 459 ; CHECK: Symbol {
460 ; CHECK: Name: addend_ptr 460 ; CHECK: Name: addend_ptr
461 ; CHECK-NEXT: Value: 0x18 461 ; CHECK-NEXT: Value: 0x18
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 ; CHECK: Symbol { 640 ; CHECK: Symbol {
641 ; CHECK: Name: memset 641 ; CHECK: Name: memset
642 ; CHECK-NEXT: Value: 0x0 642 ; CHECK-NEXT: Value: 0x0
643 ; CHECK-NEXT: Size: 0 643 ; CHECK-NEXT: Size: 0
644 ; CHECK-NEXT: Binding: Global 644 ; CHECK-NEXT: Binding: Global
645 ; CHECK-NEXT: Type: None 645 ; CHECK-NEXT: Type: None
646 ; CHECK-NEXT: Other: 0 646 ; CHECK-NEXT: Other: 0
647 ; CHECK-NEXT: Section: Undefined 647 ; CHECK-NEXT: Section: Undefined
648 ; CHECK-NEXT: } 648 ; CHECK-NEXT: }
649 ; CHECK: ] 649 ; CHECK: ]
OLDNEW
« no previous file with comments | « tests_lit/llvm2ice_tests/bitcast.ll ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698