search for: clang10

Displaying 4 results from an estimated 4 matches for "clang10".

Did you mean: clang1
2020 Nov 02
2
[llvm-mc] FreeBSD kernel module performance impact when upgrading clang
Hi, I'm in the process of migrating from clang5 to clang10. Unfortunately clang10 introduced a negative performance impact. The cause is an increase of PLT entries from this patch (first released in clang7): https://bugs.llvm.org/show_bug.cgi?id=36370 https://reviews.llvm.org/D43383 If I revert that clang patch locally, the additional PLT entries and the...
2020 Nov 05
0
[EXTERNAL] [llvm-mc] FreeBSD kernel module performance impact when upgrading clang
...98 <_start>: >> 1298: e8 04 00 00 00 callq 12a1 <foo+0x4> >> >> 000000000000129d <foo>: >> 129d: c3 retq >> >> >> The call to foo does not go through the PLT. That's the behavior seen using clang5. But clang10 generates the PLT32 relocation instead, like this: >> >> $ cat b.s >> .globl _start, foo >> _start: >> .byte 0xe8 >> .reloc ., R_X86_64_PLT32, foo - 4 >> .long foo - . >> foo: >> ret >> >> $ as b.s -o b.o >> $ ld.lld-10...
2020 Jul 20
2
[ARM] Should Use Load and Store with Register Offset
Hello LLVM Community (specifically anyone working with ARM Cortex-M), While trying to compile the Newlib C library I found that Clang10 was generating slightly larger binaries than the libc from the prebuilt gcc-arm-none-eabi toolchain. I looked at a few specific functions (memcpy, strcpy, etc.) and noticed that LLVM does not tend to generate load/store instructions with a register offset (e.g. ldr Rd, [Rn, Rm] form) and instead pr...
2020 Jul 21
2
[ARM] Should Use Load and Store with Register Offset
...gt; *To:* llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org> > *Subject:* [llvm-dev] [ARM] Should Use Load and Store with Register Offset > > Hello LLVM Community (specifically anyone working with ARM Cortex-M), > > While trying to compile the Newlib C library I found that Clang10 was > generating slightly larger binaries than the libc from the prebuilt > gcc-arm-none-eabi toolchain. I looked at a few specific functions (memcpy, > strcpy, etc.) and noticed that LLVM does not tend to generate load/store > instructions with a register offset (e.g. ldr Rd, [Rn, Rm]...