77# RUN: llvm - bolt %t.exe -- inline - memcpy - o %t.bolt 2 >& 1 | FileCheck %s -- check - prefix=CHECK - INLINE
88# RUN: llvm - objdump - d %t.bolt | FileCheck %s -- check - prefix=CHECK - ASM
99
10- # Verify BOLT reports th at it inlined memcpy calls ( 11 successful inlines out of 16 total calls)
10+ # Verify BOLT reports th at it inlined memcpy calls ( 11 successful inlines out of 17 total calls)
1111# CHECK - INLINE: BOLT - INFO: inlined 11 memcpy() calls
1212
1313# Each function should use optimal size - specific instructions and NO memcpy calls
8181# CHECK - ASM: bl {{. * }}<memcpy
8282
8383# Register move should NOT be inlined (size unknown at compile time)
84- # CHECK - ASM - LABEL: <test_register_move_negative>:
84+ # CHECK - ASM - LABEL: <test_register_move_unknown>:
85+ # CHECK - ASM: bl {{. * }}<memcpy
86+
87+ # CHECK - ASM - LABEL: <test_x2_rewrite_unknown>:
8588# CHECK - ASM: bl {{. * }}<memcpy
8689
8790# Live - in parameter should NOT be inlined (size unknown at compile time)
88- # CHECK - ASM - LABEL: <test_live_in_negative >:
91+ # CHECK - ASM - LABEL: <test_live_in_unknown >:
8992# CHECK - ASM: bl {{. * }}<memcpy
9093
9194# _memcpy8 should be inlined with end - pointer return (dest + size)
@@ -259,9 +262,9 @@ test_4_byte_add_immediate:
259262 ret
260263 .size test_4_byte_add_immediate , . - test_4_byte_add_immediate
261264
262- .globl test_register_move_negative
263- .type test_register_move_negative , @function
264- test_register_move_negative :
265+ .globl test_register_move_unknown
266+ .type test_register_move_unknown , @function
267+ test_register_move_unknown :
265268 stp x29 , x30 , [ sp , # - 32 ] !
266269 mov x29 , sp
267270 add x1 , sp , # 16
@@ -271,11 +274,20 @@ test_register_move_negative:
271274 bl memcpy
272275 ldp x29 , x30 , [ sp ], # 32
273276 ret
274- .size test_register_move_negative , . - test_register_move_negative
277+ .size test_register_move_unknown , . - test_register_move_unknown
278+
279+ .globl test_x2_rewrite_unknown
280+ .type test_x2_rewrite_unknown , @function
281+ test_x2_rewrite_unknown:
282+ mov x2 , # 8
283+ ldr x2 , [ sp , # 24 ]
284+ bl memcpy
285+ ret
286+ .size test_x2_rewrite_unknown , . - test_x2_rewrite_unknown
275287
276- .globl test_live_in_negative
277- .type test_live_in_negative , @function
278- test_live_in_negative :
288+ .globl test_live_in_unknown
289+ .type test_live_in_unknown , @function
290+ test_live_in_unknown :
279291 # x2 comes in as parameter , no instruction sets it (should NOT inline)
280292 stp x29 , x30 , [ sp , # - 32 ] !
281293 mov x29 , sp
@@ -285,7 +297,7 @@ test_live_in_negative:
285297 bl memcpy
286298 ldp x29 , x30 , [ sp ], # 32
287299 ret
288- .size test_live_in_negative , . - test_live_in_negative
300+ .size test_live_in_unknown , . - test_live_in_unknown
289301
290302 .globl test_memcpy8_4_byte
291303 .type test_memcpy8_4_byte , @function
0 commit comments