[PATCH] D54889: Fiber support for thread sanitizer
Dmitry Vyukov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 18 08:02:01 PST 2018
dvyukov added a comment.
FTR, here is current code:
00000000004b2c50 <__tsan_read2>:
4b2c50: 48 b8 f8 ff ff ff ff movabs $0xffff87fffffffff8,%rax
4b2c57: 87 ff ff
4b2c5a: 48 ba 00 00 00 00 00 movabs $0x40000000000,%rdx
4b2c61: 04 00 00
4b2c64: 53 push %rbx
4b2c65: 48 21 f8 and %rdi,%rax
4b2c68: 48 8b 74 24 08 mov 0x8(%rsp),%rsi
4b2c6d: 48 31 d0 xor %rdx,%rax
4b2c70: 48 83 3c 85 00 00 00 cmpq $0xffffffffffffffff,0x0(,%rax,4)
4b2c77: 00 ff
4b2c79: 0f 84 9d 00 00 00 je 4b2d1c <__tsan_read2+0xcc>
4b2c7f: 49 c7 c0 c0 04 fc ff mov $0xfffffffffffc04c0,%r8
4b2c86: 64 49 8b 08 mov %fs:(%r8),%rcx
4b2c8a: 48 85 c9 test %rcx,%rcx
4b2c8d: 0f 88 89 00 00 00 js 4b2d1c <__tsan_read2+0xcc>
...
4b2cf6: 64 f3 41 0f 7e 50 08 movq %fs:0x8(%r8),%xmm2
...
4b2d36: 64 49 89 10 mov %rdx,%fs:(%r8)
Here is new code:
00000000004b8460 <__tsan_read2>:
4b8460: 48 b8 f8 ff ff ff ff movabs $0xffff87fffffffff8,%rax
4b8467: 87 ff ff
4b846a: 48 ba 00 00 00 00 00 movabs $0x40000000000,%rdx
4b8471: 04 00 00
4b8474: 53 push %rbx
4b8475: 48 21 f8 and %rdi,%rax
4b8478: 48 8b 74 24 08 mov 0x8(%rsp),%rsi
4b847d: 48 31 d0 xor %rdx,%rax
4b8480: 48 83 3c 85 00 00 00 cmpq $0xffffffffffffffff,0x0(,%rax,4)
4b8487: 00 ff
4b8489: 0f 84 9f 00 00 00 je 4b852e <__tsan_read2+0xce>
4b848f: 48 c7 c2 f8 ff ff ff mov $0xfffffffffffffff8,%rdx
4b8496: 64 4c 8b 02 mov %fs:(%rdx),%r8
4b849a: 49 8b 08 mov (%r8),%rcx
4b849d: 48 85 c9 test %rcx,%rcx
4b84a0: 0f 88 88 00 00 00 js 4b852e <__tsan_read2+0xce>
...
4b8509: f3 41 0f 7e 50 08 movq 0x8(%r8),%xmm2
...
4b8546: 49 89 10 mov %rdx,(%r8)
The additional indirection is "mov (%r8),%rcx".
Repository:
rCRT Compiler Runtime
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D54889/new/
https://reviews.llvm.org/D54889
More information about the llvm-commits
mailing list