User Details
- User Since
- Feb 6 2020, 9:58 AM (49 w, 4 d)
Wed, Jan 13
Sat, Jan 9
RT library detection and check for outline atomics support added to the driver.
Wed, Jan 6
You said Android is planning to adopt this. Do you know how? I thought they had their own libc; does it also implement getauxval, or do they have a separate compiler-rt, or something entirely different?
Android uses compiler-rt and has getauxval support: https://android.googlesource.com/platform/bionic/+/master/libc/bionic/getauxval.cpp
There would need to be more checks in the CompilerRT case because most platforms won't benefit. There's already Clang logic to discover GCC installations (search for GCCInstallationDetector); I hope you'll be able to use that instead of trying to redo it.
Thanks for the tip, I'll try to utilize it.
Tue, Dec 22
I think this ought to be a Clang patch that detects which platform and libgcc it's targeting before adding the attribute.
Do you mean implement in Cland Driver something like:
Sun, Dec 20
Outline atomics were added with gcc 9.3.1 and turned on by default in gcc 10.1. Consequently most of distributions had libgcc with outline atomics already.
Besides Linux, Android will utilize them as well. Don't know about iOs and MacOs, I guess they are compiling with LSE enabled, so outline atomics should not affect them.
As for benchmarks, I rely on investigations completed during gcc outline atomics enablement work.
Choice of solution ../gcc/libgcc/config/aarch64/lse.S:
Dec 19 2020
Dec 16 2020
Thanks for fixing this.
Dec 15 2020
lse.S syntax fixed, compiler-rt with outline atomics should be built fine. If there are no any other issues can we abandon this patch?
Dec 14 2020
It'd be great if you could figure out a way to have the macro expand in a way that doesn't hit the assembly parser bug.
Newline for .cfi_startproc https://reviews.llvm.org/D93236
I guess because of patch https://reviews.llvm.org/D92836 removing outline atomics for Apple.
Anyway it would be great to have Apple syntax fix landed, thank you for help.
Dec 13 2020
Thanks for fix, creating symlinks is more elegant and firm solution indeed.
Dec 8 2020
lse.S syntax could be fixed: https://reviews.llvm.org/D92530
The question is, should outline atomics be in compiler-rt for iOS and ARM-based macOS?
Dec 6 2020
Dec 5 2020
Dec 3 2020
LGTM. Thanks!
Dec 2 2020
Nov 26 2020
Thank you, does anyone have any more concerns? Could you accept revision?
Nov 25 2020
Correct getauxval check.
Nov 23 2020
Comments were taken into account.
Nov 20 2020
Nov 19 2020
LCALL4 removed in TargetLoweringBase.
Have you got any further comments?
Nov 17 2020
Nov 11 2020
Work on comments has been done.
Need to resolve license issue first.
Nov 10 2020
Jul 16 2020
The patch landed b9a6fb64281b6836e565ee39fb0d543bf184fd88
Jul 15 2020
vbit/vbif encoding tests added.
Jul 14 2020
Jul 13 2020
Apr 27 2020
Apr 23 2020
Apr 22 2020
Patterns corrected to comply with encoding 4eca1c06a4a9183fcf7bb230d894617caf3cf3be
Apr 21 2020
Committed be881e2831735d6879ee43710f5a4d1c8d50c615
v2f32 pattern removed, test added.
Apr 20 2020
Patterns corrected, vector_extract tests added.
Apr 18 2020
Apr 17 2020
More patterns added.
Apr 15 2020
Feb 15 2020
Fixed in dc0b8159890134a59fdf34b20e8b2052d9456441. All AArch64 expensive check tests passed.
Feb 14 2020
Obsolete patterns removed, schedulers patched.
Feb 13 2020
Feb 12 2020
Diff amended in accordance with comments.
Feb 7 2020
More diff context added