Closed arsenm closed 5 months ago
@llvm/pr-subscribers-llvm-transforms
Author: Matt Arsenault (arsenm)
This broke mac and ios targets, with a missing exp10 symbol at link time.
This broke mac and ios targets, with a missing exp10 symbol at link time.
Testcase? That suggest TargetLibraryInfo is incorrectly reporting exp10 as available
This broke mac and ios targets, with a missing exp10 symbol at link time.
Testcase? That suggest TargetLibraryInfo is incorrectly reporting exp10 as available
This seems pretty well covered already: https://github.com/llvm/llvm-project/blob/e0a293d12f3fe1c2a284e2e116cfa77d894da49f/llvm/lib/Analysis/TargetLibraryInfo.cpp#L537
It's complaining about exp10 being missing, not __exp10, so I guess the information from there is not correctly used.
Here's a reproducer
long n, x;
void foo() { x = __builtin_powl(10, n); }
Build with clang -O1 -o libfoo.dylib -shared foo.c --target=aarch64-apple-darwin -isysroot /path/to/MacOSX.sdk/
Before the change, this compiled to use __exp10, now, it uses exp10.
As this is breaking builds on Darwin platforms I am planning to revert this soon to unbreak builds until https://github.com/llvm/llvm-project/pull/92520 lands
As this is breaking builds on Darwin platforms I am planning to revert this soon to unbreak builds until #92520 lands
How about just review it instead
Addresses old TODO about the exp10 intrinsic not existing.