aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopPeel.cpp
diff options
context:
space:
mode:
authorRainer Orth <ro@gcc.gnu.org>2022-02-01 22:33:56 +0100
committerRainer Orth <ro@gcc.gnu.org>2022-02-01 22:33:56 +0100
commitd83c9005cf81e6f7cc00b695726d0c5698b83c1e (patch)
treedbedb3301c242c546562f4e3e36468fe871dae99 /llvm/lib/Transforms/Utils/LoopPeel.cpp
parentd7c4072fdb189dfac1af3cc5bdd0499aec734c43 (diff)
downloadllvm-d83c9005cf81e6f7cc00b695726d0c5698b83c1e.zip
llvm-d83c9005cf81e6f7cc00b695726d0c5698b83c1e.tar.gz
llvm-d83c9005cf81e6f7cc00b695726d0c5698b83c1e.tar.bz2
[sanitizer_common][test] Enable tests on SPARC
Unfortunately, the `sanitizer_common` tests are disabled on many targets that are supported by `sanitizer_common`, making it easy to miss issues with that support. This patch enables SPARC testing. Beside the enabling proper, the patch fixes (together with D91607 <https://reviews.llvm.org/D91607>) the failures of the `symbolize_pc.cpp`, `symbolize_pc_demangle.cpp`, and `symbolize_pc_inline.cpp` tests. They lack calls to `__builtin_extract_return_addr`. When those are added, they `PASS` when compiled with `gcc`. `clang` incorrectly doesn't implement a non-default `__builtin_extract_return_addr` on several targets, SPARC included. Because `__builtin_extract_return_addr(__builtin_return_addr(0))` is quite a mouthful and I'm uncertain if the code needs to compile with msvc which appparently has it's own `_ReturnAddress`, I've introduced `__sanitizer_return_addr` to hide the difference and complexity. Because on 32-bit SPARC `__builtin_extract_return_addr` differs when the calling function returns a struct, I've added a testcase for that. There are a couple more tests failing on SPARC that I will deal with separately. Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D91608
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopPeel.cpp')
0 files changed, 0 insertions, 0 deletions