serge-sans-paille added a comment. While running this small experiment: https://sergesanspaille.fedorapeople.org/proftest.sh I get the following output:
clang version 16.0.0 (...) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: ... ==== - instrumentation + likely: puts first 00000000000006d0 <main>: 6d0: 50 push %rax 6d1: 83 ff 01 cmp $0x1,%edi 6d4: 75 10 jne 6e6 <main+0x16> 6d6: 48 8d 3d a7 00 00 00 lea 0xa7(%rip),%rdi # 784 <_IO_stdin_used+0x4> 6dd: e8 ce fe ff ff callq 5b0 <puts@plt> 6e2: 31 c0 xor %eax,%eax 6e4: 59 pop %rcx 6e5: c3 retq 6e6: 48 8b 06 mov (%rsi),%rax 6e9: 48 8b 56 08 mov 0x8(%rsi),%rdx 6ed: 48 8d 3d 9b 00 00 00 lea 0x9b(%rip),%rdi # 78f <_IO_stdin_used+0xf> 6f4: 48 89 c6 mov %rax,%rsi 6f7: 31 c0 xor %eax,%eax 6f9: e8 92 fe ff ff callq 590 <printf@plt> 6fe: eb e2 jmp 6e2 <main+0x12> 0000000000000700 <__libc_csu_init>: ==== + instrumentation + likely: puts first 00000000000005e0 <main>: 5e0: 50 push %rax 5e1: 83 ff 01 cmp $0x1,%edi 5e4: 75 10 jne 5f6 <main+0x16> 5e6: 48 8d 3d 97 01 00 00 lea 0x197(%rip),%rdi # 784 <_IO_stdin_used+0x4> 5ed: e8 be ff ff ff callq 5b0 <puts@plt> 5f2: 31 c0 xor %eax,%eax 5f4: 59 pop %rcx 5f5: c3 retq 5f6: 48 8b 06 mov (%rsi),%rax 5f9: 48 8b 56 08 mov 0x8(%rsi),%rdx 5fd: 48 8d 3d 8b 01 00 00 lea 0x18b(%rip),%rdi # 78f <_IO_stdin_used+0xf> 604: 48 89 c6 mov %rax,%rsi 607: 31 c0 xor %eax,%eax 609: e8 82 ff ff ff callq 590 <printf@plt> 60e: eb e2 jmp 5f2 <main+0x12> 0000000000000610 <_start>: ./b1.out 12 ==== - instrumentation - likely: puts first 00000000000006d0 <main>: 6d0: 50 push %rax 6d1: 83 ff 01 cmp $0x1,%edi 6d4: 75 0e jne 6e4 <main+0x14> 6d6: 48 8d 3d a7 00 00 00 lea 0xa7(%rip),%rdi # 784 <_IO_stdin_used+0x4> 6dd: e8 ce fe ff ff callq 5b0 <puts@plt> 6e2: eb 18 jmp 6fc <main+0x2c> 6e4: 48 8b 06 mov (%rsi),%rax 6e7: 48 8b 56 08 mov 0x8(%rsi),%rdx 6eb: 48 8d 3d 9d 00 00 00 lea 0x9d(%rip),%rdi # 78f <_IO_stdin_used+0xf> 6f2: 48 89 c6 mov %rax,%rsi 6f5: 31 c0 xor %eax,%eax 6f7: e8 94 fe ff ff callq 590 <printf@plt> 6fc: 31 c0 xor %eax,%eax 6fe: 59 pop %rcx 6ff: c3 retq 0000000000000700 <__libc_csu_init>: ==== + instrumentation - likely: printf first 00000000000005e0 <main>: 5e0: 50 push %rax 5e1: 83 ff 01 cmp $0x1,%edi 5e4: 74 1c je 602 <main+0x22> 5e6: 48 8b 06 mov (%rsi),%rax 5e9: 48 8b 56 08 mov 0x8(%rsi),%rdx 5ed: 48 8d 3d 9b 01 00 00 lea 0x19b(%rip),%rdi # 78f <_IO_stdin_used+0xf> 5f4: 48 89 c6 mov %rax,%rsi 5f7: 31 c0 xor %eax,%eax 5f9: e8 92 ff ff ff callq 590 <printf@plt> 5fe: 31 c0 xor %eax,%eax 600: 59 pop %rcx 601: c3 retq 602: 48 8d 3d 7b 01 00 00 lea 0x17b(%rip),%rdi # 784 <_IO_stdin_used+0x4> 609: e8 a2 ff ff ff callq 5b0 <puts@plt> 60e: eb ee jmp 5fe <main+0x1e> 0000000000000610 <_start>: To me, it means that `[[likely]]` takes precedence over profile information... Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134394/new/ https://reviews.llvm.org/D134394 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits