CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
106 lines
5.4 KiB
Plaintext
106 lines
5.4 KiB
Plaintext
; REQUIRES: x86-registered-target
|
|
|
|
; Test case 1 - General options.
|
|
|
|
; test.cpp
|
|
; 1 using INTPTR = const int *;
|
|
; 2 int foo(INTPTR ParamPtr, unsigned ParamUnsigned, bool ParamBool) {
|
|
; 3 if (ParamBool) {
|
|
; 4 typedef int INTEGER;
|
|
; 5 const INTEGER CONSTANT = 7;
|
|
; 6 return CONSTANT;
|
|
; 7 }
|
|
; 8 return ParamUnsigned;
|
|
; 9 }
|
|
|
|
; Print basic details.
|
|
; The following command prints basic details for all the logical elements
|
|
; sorted by the debug information internal offset; it includes its lexical
|
|
; level and debug info format.
|
|
|
|
; RUN: llvm-debuginfo-analyzer --attribute=level,format \
|
|
; RUN: --output-sort=id \
|
|
; RUN: --print=scopes,symbols,types,lines,instructions \
|
|
; RUN: %p/Inputs/test-codeview-clang.o 2>&1 | \
|
|
; RUN: FileCheck --strict-whitespace -check-prefix=ONE %s
|
|
|
|
; RUN: llvm-debuginfo-analyzer --attribute=level,format \
|
|
; RUN: --output-sort=id \
|
|
; RUN: --print=elements \
|
|
; RUN: %p/Inputs/test-codeview-clang.o 2>&1 | \
|
|
; RUN: FileCheck --strict-whitespace -check-prefix=ONE %s
|
|
|
|
; ONE: Logical View:
|
|
; ONE-NEXT: [000] {File} 'test-codeview-clang.o' -> COFF-x86-64
|
|
; ONE-EMPTY:
|
|
; ONE-NEXT: [001] {CompileUnit} 'test.cpp'
|
|
; ONE-NEXT: [002] {Function} extern not_inlined 'foo' -> 'int'
|
|
; ONE-NEXT: [003] {Parameter} 'ParamPtr' -> '* const int'
|
|
; ONE-NEXT: [003] {Parameter} 'ParamUnsigned' -> 'unsigned'
|
|
; ONE-NEXT: [003] {Parameter} 'ParamBool' -> 'bool'
|
|
; ONE-NEXT: [003] {Block}
|
|
; ONE-NEXT: [004] {Variable} 'CONSTANT' -> 'const int'
|
|
; ONE-NEXT: [004] 5 {Line}
|
|
; ONE-NEXT: [004] {Code} 'movl $0x7, 0x4(%rsp)'
|
|
; ONE-NEXT: [004] 6 {Line}
|
|
; ONE-NEXT: [004] {Code} 'movl $0x7, 0x1c(%rsp)'
|
|
; ONE-NEXT: [004] {Code} 'jmp 0x8'
|
|
; ONE-NEXT: [003] {TypeAlias} 'INTEGER' -> 'int'
|
|
; ONE-NEXT: [003] 2 {Line}
|
|
; ONE-NEXT: [003] {Code} 'subq $0x20, %rsp'
|
|
; ONE-NEXT: [003] {Code} 'andb $0x1, %r8b'
|
|
; ONE-NEXT: [003] {Code} 'movb %r8b, 0x1b(%rsp)'
|
|
; ONE-NEXT: [003] {Code} 'movl %edx, 0x14(%rsp)'
|
|
; ONE-NEXT: [003] {Code} 'movq %rcx, 0x8(%rsp)'
|
|
; ONE-NEXT: [003] 3 {Line}
|
|
; ONE-NEXT: [003] {Code} 'testb $0x1, 0x1b(%rsp)'
|
|
; ONE-NEXT: [003] {Code} 'je 0x15'
|
|
; ONE-NEXT: [003] 8 {Line}
|
|
; ONE-NEXT: [003] {Code} 'movl 0x14(%rsp), %eax'
|
|
; ONE-NEXT: [003] {Code} 'movl %eax, 0x1c(%rsp)'
|
|
; ONE-NEXT: [003] 9 {Line}
|
|
; ONE-NEXT: [003] {Code} 'movl 0x1c(%rsp), %eax'
|
|
; ONE-NEXT: [003] {Code} 'addq $0x20, %rsp'
|
|
; ONE-NEXT: [003] {Code} 'retq'
|
|
; ONE-NEXT: [002] {TypeAlias} 'INTPTR' -> '* const int'
|
|
|
|
; RUN: llvm-debuginfo-analyzer --attribute=level,format \
|
|
; RUN: --output-sort=none \
|
|
; RUN: --print=scopes,symbols,types,lines,instructions \
|
|
; RUN: %p/Inputs/test-codeview-clang.o 2>&1 | \
|
|
; RUN: FileCheck --strict-whitespace -check-prefix=ONE-NOSORT %s
|
|
|
|
; ONE-NOSORT: Logical View:
|
|
; ONE-NOSORT-NEXT: [000] {File} 'test-codeview-clang.o' -> COFF-x86-64
|
|
; ONE-NOSORT-EMPTY:
|
|
; ONE-NOSORT-NEXT: [001] {CompileUnit} 'test.cpp'
|
|
; ONE-NOSORT-NEXT: [002] {Function} extern not_inlined 'foo' -> 'int'
|
|
; ONE-NOSORT-NEXT: [003] {Block}
|
|
; ONE-NOSORT-NEXT: [004] {Variable} 'CONSTANT' -> 'const int'
|
|
; ONE-NOSORT-NEXT: [004] 5 {Line}
|
|
; ONE-NOSORT-NEXT: [004] {Code} 'movl $0x7, 0x4(%rsp)'
|
|
; ONE-NOSORT-NEXT: [004] 6 {Line}
|
|
; ONE-NOSORT-NEXT: [004] {Code} 'movl $0x7, 0x1c(%rsp)'
|
|
; ONE-NOSORT-NEXT: [004] {Code} 'jmp 0x8'
|
|
; ONE-NOSORT-NEXT: [003] {TypeAlias} 'INTEGER' -> 'int'
|
|
; ONE-NOSORT-NEXT: [003] {Parameter} 'ParamPtr' -> '* const int'
|
|
; ONE-NOSORT-NEXT: [003] {Parameter} 'ParamUnsigned' -> 'unsigned'
|
|
; ONE-NOSORT-NEXT: [003] {Parameter} 'ParamBool' -> 'bool'
|
|
; ONE-NOSORT-NEXT: [003] 2 {Line}
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'subq $0x20, %rsp'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'andb $0x1, %r8b'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'movb %r8b, 0x1b(%rsp)'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'movl %edx, 0x14(%rsp)'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'movq %rcx, 0x8(%rsp)'
|
|
; ONE-NOSORT-NEXT: [003] 3 {Line}
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'testb $0x1, 0x1b(%rsp)'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'je 0x15'
|
|
; ONE-NOSORT-NEXT: [003] 8 {Line}
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'movl 0x14(%rsp), %eax'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'movl %eax, 0x1c(%rsp)'
|
|
; ONE-NOSORT-NEXT: [003] 9 {Line}
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'movl 0x1c(%rsp), %eax'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'addq $0x20, %rsp'
|
|
; ONE-NOSORT-NEXT: [003] {Code} 'retq'
|
|
; ONE-NOSORT-NEXT: [002] {TypeAlias} 'INTPTR' -> '* const int'
|