[CMake][compiler-rt][AArch64] Avoid preprocessing LSE builtins separately
authorRaul Tambre <raul@tambre.ee>
Sun, 13 Dec 2020 14:48:26 +0000 (16:48 +0200)
committerRaul Tambre <raul@tambre.ee>
Mon, 14 Dec 2020 07:20:30 +0000 (09:20 +0200)
commit33b740f8dc3496237619a7bc6722f23655cb1f94
tree12fb54a775becce57f8f44e8ec8a32ddd278074f
parent7de9c61f3111c8b8bc9e03a7935356e2f372d8b4
[CMake][compiler-rt][AArch64] Avoid preprocessing LSE builtins separately

Invoking the preprocessor ourselves is fragile and would require us to replicate CMake's handling of definitions, compiler flags, etc for proper compatibility.
In my toolchain builds this notably resulted in a bunch of warnings from unused flags as my CMAKE_C_FLAGS includes CPU-specific optimization options.
Notably this part was already duplicating the logic for VISIBILITY_HIDDEN define.

Instead, symlink the files and set the proper set of defines on each.
This should also be faster as we avoid invoking the compiler multiple times.

Fixes https://llvm.org/PR48494

Reviewed By: ilinpv

Differential Revision: https://reviews.llvm.org/D93178
compiler-rt/lib/builtins/CMakeLists.txt
compiler-rt/lib/builtins/aarch64/lse.S