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

Reply via email to