mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
30264d4391
As part of the unification of the debug format and the MIR format, print MBB references as '%bb.5'. The MIR printer prints the IR name of a MBB only for block definitions. * find . \( -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E 's/BB#" << ([a-zA-Z0-9_]+)->getNumber\(\)/" << printMBBReference(*\1)/g' * find . \( -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E 's/BB#" << ([a-zA-Z0-9_]+)\.getNumber\(\)/" << printMBBReference(\1)/g' * find . \( -name "*.txt" -o -name "*.s" -o -name "*.mir" -o -name "*.cpp" -o -name "*.h" -o -name "*.ll" \) -type f -print0 | xargs -0 sed -i '' -E 's/BB#([0-9]+)/%bb.\1/g' * grep -nr 'BB#' and fix Differential Revision: https://reviews.llvm.org/D40422 llvm-svn: 319665
94 lines
2.8 KiB
ArmAsm
94 lines
2.8 KiB
ArmAsm
// This tests that default-null weak symbols (a GNU extension) are created
|
|
// properly via the .weak directive.
|
|
|
|
// RUN: llvm-mc -filetype=obj -triple i686-pc-win32 %s | llvm-readobj -t | FileCheck %s
|
|
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-win32 %s | llvm-readobj -t | FileCheck %s
|
|
|
|
.def _main;
|
|
.scl 2;
|
|
.type 32;
|
|
.endef
|
|
.text
|
|
.globl _main
|
|
.align 16, 0x90
|
|
_main: # @main
|
|
# %bb.0: # %entry
|
|
subl $4, %esp
|
|
movl $_test_weak, %eax
|
|
testl %eax, %eax
|
|
je LBB0_2
|
|
# %bb.1: # %if.then
|
|
call _test_weak
|
|
movl $1, %eax
|
|
addl $4, %esp
|
|
ret
|
|
LBB0_2: # %return
|
|
xorl %eax, %eax
|
|
addl $4, %esp
|
|
ret
|
|
|
|
.weak _test_weak
|
|
|
|
.weak _test_weak_alias
|
|
_test_weak_alias=_main
|
|
|
|
// CHECK: Symbols [
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: _main
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: .text
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Function
|
|
// CHECK-NEXT: StorageClass: External
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: _test_weak
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: WeakExternal
|
|
// CHECK-NEXT: AuxSymbolCount: 1
|
|
// CHECK-NEXT: AuxWeakExternal {
|
|
// CHECK-NEXT: Linked: .weak._test_weak.default
|
|
// CHECK-NEXT: Search: Library
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: .weak._test_weak.default
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1)
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: External
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: _test_weak_alias
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: IMAGE_SYM_UNDEFINED (0)
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: WeakExternal
|
|
// CHECK-NEXT: AuxSymbolCount: 1
|
|
// CHECK-NEXT: AuxWeakExternal {
|
|
// CHECK-NEXT: Linked: .weak._test_weak_alias.default
|
|
// CHECK-NEXT: Search: Library
|
|
// CHECK-NEXT: }
|
|
// CHECK-NEXT: }
|
|
|
|
// CHECK: Symbol {
|
|
// CHECK: Name: .weak._test_weak_alias.default
|
|
// CHECK-NEXT: Value: 0
|
|
// CHECK-NEXT: Section: .text
|
|
// CHECK-NEXT: BaseType: Null
|
|
// CHECK-NEXT: ComplexType: Null
|
|
// CHECK-NEXT: StorageClass: External
|
|
// CHECK-NEXT: AuxSymbolCount: 0
|
|
// CHECK-NEXT: }
|