187 lines · plain
1# REQUIRES: aarch642 3# RUN: rm -rf %t && split-file %s %t4# RUN: llvm-mc -filetype=obj -triple=arm64-apple-darwin %t/a.s -o %t/a.o5# RUN: llvm-profdata merge %t/a.proftext -o %t/a.profdata6 7# RUN: %no-fatal-warnings-lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --irpgo-profile-sort=%t/a.profdata --verbose-bp-section-orderer 2>&1 | FileCheck %s --check-prefix=STARTUP8# RUN: %no-fatal-warnings-lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --irpgo-profile-sort=%t/a.profdata --verbose-bp-section-orderer --icf=all --compression-sort=none 2>&1 | FileCheck %s --check-prefix=STARTUP-ICF9 10# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --irpgo-profile %t/a.profdata --bp-startup-sort=function --verbose-bp-section-orderer 2>&1 | FileCheck %s --check-prefix=STARTUP11# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --irpgo-profile=%t/a.profdata --bp-startup-sort=function --verbose-bp-section-orderer --icf=all --bp-compression-sort=none 2>&1 | FileCheck %s --check-prefix=STARTUP-ICF12# STARTUP: Ordered 5 sections ([[#]] bytes) using balanced partitioning13# STARTUP-ICF: Ordered 4 sections ([[#]] bytes) using balanced partitioning14 15# Check that orderfiles take precedence over BP16# RUN: %no-fatal-warnings-lld -arch arm64 -lSystem -e _main -o - %t/a.o -order_file %t/a.orderfile --irpgo-profile-sort=%t/a.profdata | llvm-nm --numeric-sort --format=just-symbols - | FileCheck %s --check-prefix=ORDERFILE17# RUN: %lld -arch arm64 -lSystem -e _main -o - %t/a.o -order_file %t/a.orderfile --compression-sort=both | llvm-nm --numeric-sort --format=just-symbols - | FileCheck %s --check-prefix=ORDERFILE18 19# RUN: %lld -arch arm64 -lSystem -e _main -o - %t/a.o -order_file %t/a.orderfile --irpgo-profile=%t/a.profdata --bp-startup-sort=function | llvm-nm --numeric-sort --format=just-symbols - | FileCheck %s --check-prefix=ORDERFILE20# RUN: %lld -arch arm64 -lSystem -e _main -o - %t/a.o -order_file %t/a.orderfile --bp-compression-sort=both | llvm-nm --numeric-sort --format=just-symbols - | FileCheck %s --check-prefix=ORDERFILE21 22# Functions23# ORDERFILE: A24# ORDERFILE: F25# ORDERFILE: E26# ORDERFILE: D27# ORDERFILE-DAG: _main28# ORDERFILE-DAG: _B29# ORDERFILE-DAG: l_C30# ORDERFILE-DAG: merged1.Tgm31# ORDERFILE-DAG: merged2.Tgm32 33# Data34# ORDERFILE: s335# ORDERFILE: r336# ORDERFILE: r237# ORDERFILE-DAG: s138# ORDERFILE-DAG: s239# ORDERFILE-DAG: r140# ORDERFILE-DAG: r441 42# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --compression-sort=function 2>&1 | FileCheck %s --check-prefix=COMPRESSION-FUNC43# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --compression-sort=data 2>&1 | FileCheck %s --check-prefix=COMPRESSION-DATA44# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --compression-sort=both 2>&1 | FileCheck %s --check-prefix=COMPRESSION-BOTH45# RUN: %no-fatal-warnings-lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --compression-sort=both --irpgo-profile-sort=%t/a.profdata 2>&1 | FileCheck %s --check-prefix=COMPRESSION-BOTH46 47# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --bp-compression-sort=function 2>&1 | FileCheck %s --check-prefix=COMPRESSION-FUNC48# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --bp-compression-sort=function --icf=all 2>&1 | FileCheck %s --check-prefix=COMPRESSION-ICF-FUNC49# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --bp-compression-sort=data 2>&1 | FileCheck %s --check-prefix=COMPRESSION-DATA50# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --bp-compression-sort=both 2>&1 | FileCheck %s --check-prefix=COMPRESSION-BOTH51# RUN: %lld -arch arm64 -lSystem -e _main -o %t/a.out %t/a.o --verbose-bp-section-orderer --bp-compression-sort=both --irpgo-profile=%t/a.profdata --bp-startup-sort=function 2>&1 | FileCheck %s --check-prefix=COMPRESSION-BOTH52 53# COMPRESSION-FUNC: Ordered 9 sections ([[#]] bytes) using balanced partitioning54# COMPRESSION-ICF-FUNC: Ordered 7 sections ([[#]] bytes) using balanced partitioning55# COMPRESSION-DATA: Ordered 7 sections ([[#]] bytes) using balanced partitioning56# COMPRESSION-BOTH: Ordered 16 sections ([[#]] bytes) using balanced partitioning57 58#--- a.s59.text60.globl _main, A, _B, l_C.__uniq.111111111111111111111111111111111111111.llvm.222222222222222222261 62_main:63 ret64A:65 ret66_B:67 add w0, w0, #168 bl A69 ret70l_C.__uniq.111111111111111111111111111111111111111.llvm.2222222222222222222:71 add w0, w0, #272 bl A73 ret74D:75 add w0, w0, #276 bl _B77 ret78E:79 add w0, w0, #280 bl l_C.__uniq.111111111111111111111111111111111111111.llvm.222222222222222222281 ret82F:83 add w0, w0, #384 bl l_C.__uniq.111111111111111111111111111111111111111.llvm.222222222222222222285 ret86merged1.Tgm:87 add w0, w0, #10188 ret89merged2.Tgm:90 add w0, w0, #10191 ret92 93.data94s1:95 .ascii "hello world"96s2:97 .ascii "i am a string"98s3:99 .ascii "this is s3"100r1:101 .quad s1102r2:103 .quad r1104r3:105 .quad r2106r4:107 .quad s2108 109# cstrings are ignored by runBalancedPartitioning()110.cstring111cstr:112 .asciz "this is cstr"113 114.bss115bss0:116 .zero 10117 118.subsections_via_symbols119 120#--- a.proftext121:ir122:temporal_prof_traces123# Num Traces1241125# Trace Stream Size:1261127# Weight1281129A, B, C.__uniq.555555555555555555555555555555555555555.llvm.6666666666666666666, merged1, merged2130 131A132# Func Hash:1331111134# Num Counters:1351136# Counter Values:1371138 139B140# Func Hash:1412222142# Num Counters:1431144# Counter Values:1451146 147C.__uniq.555555555555555555555555555555555555555.llvm.6666666666666666666148# Func Hash:1493333150# Num Counters:1511152# Counter Values:1531154 155D156# Func Hash:1574444158# Num Counters:1591160# Counter Values:1611162 163merged1164# Func Hash:1655555166# Num Counters:1671168# Counter Values:1691170 171merged2172# Func Hash:1736666174# Num Counters:1751176# Counter Values:1771178 179#--- a.orderfile180A181F182E183D184s3185r3186r2187