{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":458099346,"defaultBranch":"main","name":"llvm-project","ownerLogin":"rorth","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2022-02-11T08:13:45.000Z","ownerAvatar":"https://github.com/avatars/u/3930951?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726763473.0","currentOid":""},"activityList":{"items":[{"before":"4ebd64071794920fa7a8def0d69c862e82a00474","after":"746957035193c753fdb6a4fe360929a7f4c59641","ref":"refs/heads/clang-linux-sparcv8-v9","pushedAt":"2024-09-20T13:52:12.000Z","pushType":"push","commitsCount":326,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"Merge branch 'main' into clang-linux-sparcv8-v9","shortMessageHtmlLink":"Merge branch 'main' into clang-linux-sparcv8-v9"}},{"before":"9123b7eae524418d0a671ac2114ddea2b2cf9695","after":"4ebd64071794920fa7a8def0d69c862e82a00474","ref":"refs/heads/clang-linux-sparcv8-v9","pushedAt":"2024-09-20T13:50:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"- Always default to `-mcpu=v9`.\n- Add ReleaseNotes entry.","shortMessageHtmlLink":"- Always default to -mcpu=v9."}},{"before":null,"after":"aae05c7e8160ce1f7909b965756f70d71d63e3b5","ref":"refs/heads/compiler-rt-sanitizer_common-ptrace-Linux-sparc","pushedAt":"2024-09-19T16:31:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[sanitizer_common] Handle ptrace on Linux/sparc64\n\nWhen ASan testing is enabled on SPARC as per PR #107405, the\n```\n AddressSanitizer-sparc-linux :: TestCases/Linux/ptrace.cpp\n```\n`FAIL`s on Linux/sparc64. This happens because the `ptrace` interceptor\nhas no support for that target at all.\n\nThis patch adds the missing parts and accounts for a couple of issues\nspecific to this target:\n- In some cases, SPARC just needs to be included in the list of supported\n targets.\n- Besides, the Linux/sparc64 types used by the `PTRACE_GETREGS` and\n `PTRACE_GETFPREGS` need to be filled in.\n- `ptrace` has a weird quirk on this target: for a couple of requests, the\n meaning of the `data` and `addr` args is reversed. All of the\n `Linux/ptrace.cpp` test and the interceptor, pre-syscall and post-syscall\n hooks need to account for that swap in their checks.\n\nTested on `sparc64-unknown-linux-gnu` and `x86_64-pc-linux-gnu`.","shortMessageHtmlLink":"[sanitizer_common] Handle ptrace on Linux/sparc64"}},{"before":null,"after":"5cdaed5a490b0eb3eaaaf7c583424f224eb3e1f9","ref":"refs/heads/compiler-rt-sanitizer_common-ThreadDescriptorSize-solaris","pushedAt":"2024-09-19T13:53:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[sanitizer_common] Provide dummy ThreadDescriptorSize on Solaris\n\nSince 2c69a09bee94acca859a1adf5b04d01dc13f7295, the Solaris build is broken\nlike\n```\nUndefined\t\t\tfirst referenced\n symbol \t\t\t in file\n_ZN11__sanitizer20ThreadDescriptorSizeEv projects/compiler-rt/lib/sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.i386.dir/sanitizer_linux_libcdep.cpp.o\n```\nThe `ThreadDescriptorSize` reference is from `sanitizer_linux_libcdep.cpp`\n(`GetTls`), l.590. This isn't actually needed on non-glibc targets AFAICS,\nso this patch provides a dummy to restore the build.\n\nTested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and\n`x86_64-pc-linux-gnu`.","shortMessageHtmlLink":"[sanitizer_common] Provide dummy ThreadDescriptorSize on Solaris"}},{"before":"43c9203d4946b7911d2ba69369717979900d7bc2","after":"b1b436c108101f31b27eedb3a9591b7a02e0bc6e","ref":"refs/heads/main","pushedAt":"2024-09-19T13:46:00.000Z","pushType":"push","commitsCount":188,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[AArch64] Fix build error from extra !\n\nThis fixes a build failure caused by https://github.com/llvm/llvm-project/pull/108521","shortMessageHtmlLink":"[AArch64] Fix build error from extra !"}},{"before":null,"after":"9123b7eae524418d0a671ac2114ddea2b2cf9695","ref":"refs/heads/clang-linux-sparcv8-v9","pushedAt":"2024-09-19T12:47:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[Driver][Sparc] Default to -mcpu=v9 for 32-bit Linux/sparc64\n\nWhile working on supporting PR #109101 on Linux/sparc64, I was reminded\nthat `clang -m32` still defaults to generating V8 code, although the 64-bit\nkernel requires a V9 CPU.\n\nThis patch corrects that on V9-only distros (Debian, Gentoo).\n\nTested on `sparc64-unknown-linux-gnu`, `x86_64-pc-linux-gnu`,\n`sparcv9-sun-solaris2.11`, and `amd64-pc-solaris2.11`.\n\nA previous version of this patch was submitted as [[Driver][Sparc] Default\nto -mcpu=v9 for SparcV8 on Linux](https://reviews.llvm.org/D130688), but\ngot stalled for 2+ years.","shortMessageHtmlLink":"[Driver][Sparc] Default to -mcpu=v9 for 32-bit Linux/sparc64"}},{"before":null,"after":"437c9063f07a4246a7eebb76585c9dfbe2678970","ref":"refs/heads/compiler-rt-test-asan-odr_c_test-skip-sparc","pushedAt":"2024-09-18T09:30:20.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[ASan][test] Skip Linux/odr_c_test.c on SPARC\n\nWhen ASan testing is enabled on SPARC as per PR #107405, the\n```\n AddressSanitizer-sparc-linux :: TestCases/Linux/odr_c_test.c\n\n```\n`FAIL`s on Linux/sparc64:\n```\n+ projects/compiler-rt/test/asan/SPARCLinuxConfig/TestCases/Linux/Output/odr_c_test.c.tmp\n+ count 0\nExpected 0 lines, got 13.\n\nAddressSanitizer:DEADLYSIGNAL\n=================================================================\n==4165420==ERROR: AddressSanitizer: BUS on unknown address (pc 0x7012d5b4 bp 0xffa3b938 sp 0xffa3b8d0 T0)\n==4165420==The signal is caused by a READ memory access.\n==4165420==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used.\n```\nThe test relies on an unaligned access, which cannot work on a\nstrict-alignment target like SPARC.\n\nThus this patch skips the test.\n\nTested on `sparc64-unknown-linux-gnu`.","shortMessageHtmlLink":"[ASan][test] Skip Linux/odr_c_test.c on SPARC"}},{"before":null,"after":"4864d1e943de3b27ad5ae2357408d83c525e264d","ref":"refs/heads/compiler-rt-sanitizer_common-GetArgsAndEnv-Linux-sparc","pushedAt":"2024-09-18T09:23:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[sanitizer_common] Fix GetArgsAndEnv on Linux/sparc64\n\nWhen ASan testing is enabled on SPARC as per PR #107405, the\n```\n AddressSanitizer-sparc-linux :: TestCases/Posix/print_cmdline.cpp\n```\ntest `FAIL`s. Either `ASAN_OPTIONS=print_cmdline=true` yielded binary\ngarbage in the `Command:` output or just an empty string.\n\nIt turns out one needs to apply an offset to `__libc_stack_end` to get at\nthe actual `argc`/`argv`, as described in `glibc`'s\n`sysdeps/sparc/sparc{32,64}/dl-machine.h` (`DL_STACK_END`).\n\nThis patch does this, fixing the test.\n\nTested on `sparc64-unknown-linux-gnu`.","shortMessageHtmlLink":"[sanitizer_common] Fix GetArgsAndEnv on Linux/sparc64"}},{"before":null,"after":"d4eb6c66e4702616e0193011b51a7dc5e667d296","ref":"refs/heads/compiler-rt-sanitizer_common-interceptor-nldbl-linux-sparc","pushedAt":"2024-09-18T09:17:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[sanitizer_common] Heed __ndbl_ prefix for 32-bit Linux/sparc64 interceptors\n\nWhen ASan testing is enabled on SPARC as per PR #107405, a couple of tests\n`FAIL` on Linux/sparc64:\n```\n AddressSanitizer-sparc-linux :: TestCases/printf-2.c\n AddressSanitizer-sparc-linux :: TestCases/printf-3.c\n AddressSanitizer-sparc-linux :: TestCases/printf-4.c\n AddressSanitizer-sparc-linux :: TestCases/printf-5.c\n\n SanitizerCommon-asan-sparc-Linux :: Linux/unexpected_format_specifier_test.cpp\n```\nIt turns out the interceptors aren't used since on Linux/sparc64 `double`\nand `long double` are the same, and a couple of `stdio` functions are\nprefixed with `__nldbl_` (no long double) accordingly.\n\nThis patch handles this.\n\nTested on `sparc64-unknown-linux-gnu`.","shortMessageHtmlLink":"[sanitizer_common] Heed __ndbl_ prefix for 32-bit Linux/sparc64 inter…"}},{"before":null,"after":"0be899c0f2d55b21ac417857183887c4380f8558","ref":"refs/heads/compiler-rt-asan-test-stack-overflow-sparc","pushedAt":"2024-09-18T08:53:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[ASan][test] Fix TestCases/Posix/stack-overflow.cpp on Solaris/sparcv9\n\nWhen ASan testing is enabled on SPARC as per PR #107405, the\n```\n AddressSanitizer-sparc-sunos :: TestCases/Posix/stack-overflow.cpp\n```\ntest `FAIL`s:\n```\ncompiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp:80:12: error: CHECK: expected string not found in input\n // CHECK: {{stack-overflow on address 0x.* \\(pc 0x.* bp 0x.* sp 0x.* T.*\\)}}\n ^\nAddressSanitizer:DEADLYSIGNAL\nAddressSanitizer:DEADLYSIGNAL\n=================================================================\n==11358==ERROR: AddressSanitizer: SEGV on unknown address 0xff3fff90 (pc 0x000db0c0 bp 0xfeed59f8 sp 0xfeed5978 T0)\n==11358==The signal is caused by a READ memory access.\nAddressSanitizer:DEADLYSIGNAL\nAddressSanitizer: nested bug in the same thread, aborting.\n```\nIt turns out that `sanitizer_linux.cpp` (`GetPcSpBp`) tries to dereference\nthe stack pointer to get at the saved frame pointer, which cannot work since\n`sp` has been invalidated by the stack overflow in the test. The access\nattempt thus leads to a second `SEGV`.\n\nSolaris `walkcontext(3C)` doesn't have that problem: in the original\nOpenSolaris sources (`$SRC/lib/libc/port/gen/walkstack.c`) they used\n`/proc/self/as` to avoid the fault, which is quite heavy-handed. Solaris\n11.4 uses a non-faulting load instead (`load_no_fault_uint32`, which just\nuses the `lduwa` insn).\n\nThis patch follows this lead, returning a `NULL` `bp` in the failure case.\nUnfortunately, this leads to `SEGV`s in the depth of the unwinder, so this\npatch avoids printing a stack trace in this case.\n\nTested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.","shortMessageHtmlLink":"[ASan][test] Fix TestCases/Posix/stack-overflow.cpp on Solaris/sparcv9"}},{"before":"b35bb7b797e81e1d972c8e6d60e20e39c1917b99","after":"43c9203d4946b7911d2ba69369717979900d7bc2","ref":"refs/heads/main","pushedAt":"2024-09-18T08:51:57.000Z","pushType":"push","commitsCount":836,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[TLI] Support inferring function attributes for sincos[f|l] (#108554)","shortMessageHtmlLink":"[TLI] Support inferring function attributes for sincos[f|l] (llvm#108554"}},{"before":null,"after":"164a81de0d5e4c48ad85398d0c8908f882559f74","ref":"refs/heads/compiler-rt-asan-no-atforkhandler-linux-sparc","pushedAt":"2024-09-13T11:50:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[ASan] Disable InstallAtForkHandler on Linux/sparc64\n\nWhen SPARC Asan testing is enabled by PR #107405, many Linux/sparc64 tests\njust hang like\n```\n#0 0xf7ae8e90 in syscall () from /usr/lib32/libc.so.6\n#1 0x701065e8 in __sanitizer::FutexWait(__sanitizer::atomic_uint32_t*, unsigned int) ()\n at compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:766\n#2 0x70107c90 in Wait ()\n at compiler-rt/lib/sanitizer_common/sanitizer_mutex.cpp:35\n#3 0x700f7cac in Lock ()\n at compiler-rt/lib/asan/../sanitizer_common/sanitizer_mutex.h:196\n#4 Lock ()\n at compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_registry.h:98\n#5 LockThreads ()\n at compiler-rt/lib/asan/asan_thread.cpp:489\n#6 0x700e9c8c in __asan::BeforeFork() ()\n at compiler-rt/lib/asan/asan_posix.cpp:157\n#7 0xf7ac83f4 in ?? () from /usr/lib32/libc.so.6\nBacktrace stopped: previous frame identical to this frame (corrupt stack?)\n```\nIt turns out that this happens in tests using `internal_fork`\n(e.g. invoking `llvm-symbolizer`): unlike most other Linux targets, which\nuse `clone`, Linux/sparc64 has to use `__fork` instead. While `clone`\ndoesn't trigger `pthread_atfork` handlers, `__fork` obviously does, causing\nthe hang.\n\nTo avoid this, this patch disables `InstallAtForkHandler` and lets the ASan\ntests run to completion.\n\nTested on `sparc64-unknown-linux-gnu`.","shortMessageHtmlLink":"[ASan] Disable InstallAtForkHandler on Linux/sparc64"}},{"before":"c2483aec5f96940f279f8cef2f4fddd6b20ddd04","after":"7b8142d20ed27dbd6d4d6771eaf0a0b5cb18ebed","ref":"refs/heads/compiler-rt-test-asan-sparc","pushedAt":"2024-09-13T11:37:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"Actual Linux/sparc64 testing found that hundreds of `sparcv9` test `FAIL`.\nIn hindsight this is no wonder: while\n`compiler-rt/lib/asan/asan_mapping_sparc64.h` has support for the\nLinux/sparc64 VA hole,\n```\ncommit 9df0754b8dbeeb597a22bb0418eb0ee04ce88b56\nAuthor: Vitaly Buka \nDate: Tue Mar 12 21:02:24 2019 +0000\n\n AddressSanitizer: 64-bit SPARC/Linux port\n```\nthere's nothing corresponding in `clang`. Also, `gcc` disables 64-bit ASan\non Linux/sparc64, too.\n\nSo this patch disables `sparcv9` ASan testing in general.\n\nTested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`","shortMessageHtmlLink":"Actual Linux/sparc64 testing found that hundreds of sparcv9 test `F…"}},{"before":null,"after":"03f9c402d7d886852a035a90b925be709e9f81e2","ref":"refs/heads/compiler-rt-test-sanitizer_coverage_trace_pc_guard-sparc-disable","pushedAt":"2024-09-11T12:14:28.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[sanitizer_common][test] Disable sanitizer_coverage_trace_pc_guard.cpp etc. on SPARC\n\nWhen enabling ASan testing on SPARC as per PR #107405, two tests `FAIL`:\n```\n SanitizerCommon-asan-sparc-SunOS :: sanitizer_coverage_trace_pc_guard-dso.cpp\n SanitizerCommon-asan-sparc-SunOS :: sanitizer_coverage_trace_pc_guard.cpp\n\n```\nThe issue is the same in both cases:\n```\nWARNING: No coverage file for projects/compiler-rt/test/sanitizer_common/asan-sparc-SunOS/Output/sanitizer_coverage_trace_pc_guard.cpp.tmp\nWARNING: No coverage file for sanitizer_coverage_trace_pc_guard.cpp.tmp.22766.sancov\nERROR: No valid coverage files given.\n\n```\nChecking the file with `sancov -print` reveals `Wrong magic: 4294967090`.\nThere seems to be an endianess bug somewhere, since the tests are already\ndisabled on other big-endian targets.\n\nThis patch matches this.\n\nTested on `sparcv9-sun-solaris2.11`.","shortMessageHtmlLink":"[sanitizer_common][test] Disable sanitizer_coverage_trace_pc_guard.cp…"}},{"before":null,"after":"e3e83b180a4aec9eaac15a23071f46c872b55c5a","ref":"refs/heads/compiler-rt-asan-test-xfail-global-overflow-sparc","pushedAt":"2024-09-11T12:02:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[ASan][test] XFAIL global-overflow.cpp etc. on SPARC\n\nWhen enabling ASan testing on SPARC as per PR #107405, two tests `FAIL` in\nsimilar ways as detailed in Issue #108194: at `-O1` and above, one line of\nthe stacktrace lacks the line number info, causing the tests to `FAIL`. I\ncould trace this to `clang` generating incomplete line number info; `g++`\ngets this right.\n\nTo avoid this, this patch `XFAIL`s the affected tests on SPARC.\n\nTested on `sparcv9-sun-solaris2.11`.","shortMessageHtmlLink":"[ASan][test] XFAIL global-overflow.cpp etc. on SPARC"}},{"before":"0797c184c636889f2897746dc71390ae28005c7c","after":"b35bb7b797e81e1d972c8e6d60e20e39c1917b99","ref":"refs/heads/main","pushedAt":"2024-09-11T11:55:06.000Z","pushType":"push","commitsCount":902,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[mlir] Fix 'StringSet' may not intend to support class template argument deduction (NFC)\n\n/llvm-project/mlir/tools/mlir-tblgen/OmpOpGen.cpp:202:3:\nerror: 'StringSet' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]\n llvm::StringSet superClasses;\n ^\n/llvm-project/llvm/include/llvm/ADT/StringSet.h:23:7: note: add a deduction guide to suppress this warning\nclass StringSet : public StringMap {\n ^","shortMessageHtmlLink":"[mlir] Fix 'StringSet' may not intend to support class template argum…"}},{"before":null,"after":"c2483aec5f96940f279f8cef2f4fddd6b20ddd04","ref":"refs/heads/compiler-rt-test-asan-sparc","pushedAt":"2024-09-05T13:59:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[ASan][test] Enable ASan tests on SPARC\n\nWith PR #107223 and PR #107403, ASan testing can be enabled on SPARC. This\npatch does so, 32-bit only on Solaris (there is no 64-bit support even in\nGCC), and both 32 and 64-bit on Linux (although GCC only support 32-bit\nhere).\n\nApart from the obvious CMake changes, this patch includes a couple of\ntestcase adjustments necessary for SPARC:\n- In `asan_oob_test.cpp`, the `OOB_int` subtest needs to be disabled: it\n performs unaligned accesses that cannot work on a strict-alignment target\n like SPARC.\n- `asan_test.cpp` needs to disable subtests that depend on support for\n `__builtin_setjmp` and `__builtin_longjmp`.\n- `zero_page_pc.cpp` reports `0x5` as the faulting address on access to\n `0x4`. I don't really know why, but it's consistent between Solaris and\n Linux.\n\nTested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.\n\nSolaris results are not too bad (36 `FAIL`s) while the Linux ones are quite\nbad, in particular because quite a number of tests just hang.\n\nFor those reasons, I'm just posting the patch for reference in case someone\nelse wants to try this on Linux.","shortMessageHtmlLink":"[ASan][test] Enable ASan tests on SPARC"}},{"before":null,"after":"8cdf113112478ff7508d4e58df92f0e76a7360ce","ref":"refs/heads/clang-Driver-asan-solaris-sparc","pushedAt":"2024-09-05T13:47:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[WIP][Driver] Enable ASan on Solaris/SPARC\n\nOnce PR#107223 lands, ASan can be enabled on Solaris/SPARC. This patch\ndoes just that. As on Solaris/x86, the dynamic ASan runtime lib needs to\nbe linked with `-z now` to avoid an `AsanInitInternal` cycle.\n\nTested on `sparcv9-sun-solaris2.11` and `sparc64-unknown-linux-gnu`.\n\nThis is not yet ready to be committed, though: even with the corresponding\n`compiler-rt` patch, 36 tests still `FAIL`.\n\nFor Linux/sparc64, nothing needs to be done since `clang` enables ASan by\ndefault, irrespective of target. On top of that, test results are way\nworse, with quite a number of tests hanging completely.","shortMessageHtmlLink":"[WIP][Driver] Enable ASan on Solaris/SPARC"}},{"before":null,"after":"086147ec9d3428b6abe137f1d7ac7aa17aa8a715","ref":"refs/heads/compiler-rt-profile-__llvm_profile_counter_bias-size-19.x","pushedAt":"2024-09-05T07:51:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[profile] Change __llvm_profile_counter_bias type to match llvm\n\nAs detailed in Issue #101667, two `profile` tests `FAIL` on 32-bit\nSPARC, both Linux/sparc64 and Solaris/sparcv9 (where the tests work when\nenabled):\n```\n Profile-sparc :: ContinuousSyncMode/runtime-counter-relocation.c\n Profile-sparc :: ContinuousSyncMode/set-file-object.c\n```\nThe Solaris linker provides the crucial clue as to what's wrong:\n```\nld: warning: symbol '__llvm_profile_counter_bias' has differing sizes:\n (file runtime-counter-relocation-17ff25.o value=0x8; file libclang_rt.profile-sparc.a(InstrProfilingFile.c.o) value=0x4);\n runtime-counter-relocation-17ff25.o definition taken\n```\nIn fact, the types in `llvm` and `compiler-rt` differ:\n- `__llvm_profile_counter_bias`/`INSTR_PROF_PROFILE_COUNTER_BIAS_VAR` is\n created in `llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp`\n (`InstrLowerer::getCounterAddress`) as `int64_t`, while\n `compiler-rt/lib/profile/InstrProfilingFile.c` uses `intptr_t`. While\n this doesn't matter in the 64-bit case, the type sizes differ for\n 32-bit.\n\nThis patch changes the `compiler-rt` type to match `llvm`. At the same\ntime, the affected testcases are enabled on Solaris, too, where they now\njust `PASS`.\n\nTested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`,\n`x86_64-pc-linux-gnu`, and `amd64-pc-solaris2.11.\n\nThis is a backport of PR #102747, adjusted for the lack of\n`__llvm_profile_bitmap_bias` on the `release/19.x` branch.","shortMessageHtmlLink":"[profile] Change __llvm_profile_counter_bias type to match llvm"}},{"before":"437434df21d839becb453f6821564662e9824f02","after":"9b6180ed2ecbbb54f26caa78082e7b955a634117","ref":"refs/heads/release/19.x","pushedAt":"2024-09-03T12:44:48.000Z","pushType":"push","commitsCount":53,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[clangd] Update TidyFastChecks for release/19.x (#106354)\n\nRun for clang-tidy checks available in release/19.x branch.\n\nSome notable findings:\n- altera-id-dependent-backward-branch, stays slow with 13%.\n- misc-const-correctness become faster, going from 261% to 67%, but\nstill above\n 8% threshold.\n- misc-header-include-cycle is a new SLOW check with 10% runtime\nimplications\n- readability-container-size-empty went from 16% to 13%, still SLOW.\n\n(cherry picked from commit b47d7ce8121b1cb1923e879d58eaa1d63aeaaae2)","shortMessageHtmlLink":"[clangd] Update TidyFastChecks for release/19.x (llvm#106354)"}},{"before":"16910a21ee0fabab2df291e4e5bc18289bd5762d","after":"0797c184c636889f2897746dc71390ae28005c7c","ref":"refs/heads/main","pushedAt":"2024-09-03T12:44:33.000Z","pushType":"push","commitsCount":515,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[SCCP] Explicitly mark gep as overdefined if ct eval fails\n\nDon't just leave the result as unknown. I think this currently\nworks out thanks to undef resolution, but the correct thing to\ndo is set it to overdefined explicitly.","shortMessageHtmlLink":"[SCCP] Explicitly mark gep as overdefined if ct eval fails"}},{"before":null,"after":"8c2b200f15b45cd46d230482fa9fad2ca2685f97","ref":"refs/heads/compiler-rt-test-Posix-instrprof-dlopen-norpath-PIC","pushedAt":"2024-08-28T15:23:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[profile][test] Build Posix/instrprof-dlopen-norpath.test objects as PIC\n\n`Profile-x86_64 :: Posix/instrprof-dlopen-norpath.test` `FAILs` on\nSolaris/amd64 and similarly on Solaris/sparcv9:\n```\nRUN: at line 10: ./a.out 2>&1 | FileCheck compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test -check-prefix=CHECK-FOO\n+ ./a.out\n+ FileCheck compiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test -check-prefix=CHECK-FOO\ncompiler-rt/test/profile/Posix/instrprof-dlopen-norpath.test:24:12: error: CHECK-FOO: expected string not found in input\nCHECK-FOO: foo:\n ^\n:1:1: note: scanning from here\nunable to lookup symbol 'foo': ld.so.1: a.out: invalid handle: 0x0\n```\nThe problem turned out to be two-fold: `OPEN_AND_RUN` didn't check the\n`dlopen` return value and the objects linked into the shared objects to be\n`dlopen`ed aren't built as PIC.\n\nThis patch fixes the latter.\n\nTested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and\n`x86_64-pc-linux-gnu`.","shortMessageHtmlLink":"[profile][test] Build Posix/instrprof-dlopen-norpath.test objects as PIC"}},{"before":"d4ffccfce103b01401b8a9222e373f2d404f8439","after":"16910a21ee0fabab2df291e4e5bc18289bd5762d","ref":"refs/heads/main","pushedAt":"2024-08-28T15:15:14.000Z","pushType":"push","commitsCount":156,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[VPlan] Move logic to create interleave groups to VPlanTransforms (NFC).\n\nThis is a step towards further breaking up the rather large\ntryToBuildVPlanWithVPRecipes. It moves logic create interleave groups to\nVPlanTransforms.cpp, where similar replacements for other recipes are\ndefined as well (e.g. EVL-based ones)","shortMessageHtmlLink":"[VPlan] Move logic to create interleave groups to VPlanTransforms (NFC)."}},{"before":null,"after":"646c6ad032fe9c15faee03246496958f7592ea75","ref":"refs/heads/clang-tm-mangling-solaris","pushedAt":"2024-08-28T09:25:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[WIP][clang] Fix std::tm etc. mangling on Solaris\n\nRecently, Solaris bootstrap got broken because Solaris uses a non-standard\nmangling of `std::tm` and a few others. This was fixed with a hack in PR\nSolaris ABI requirements, mangling `std::tm` as `tm` and similarly for\n`std::div_t`, `std::ldiv_t`, and `std::lconv`.\n\nTested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and\n`x86_64-pc-linux-gnu`.\n\nUnfortunately, this patch is almost there, but not quite yet: while the new\ntestcase works as expected, the original trigger in\n`clang/lib/Lex/PPMacroExpansion.cpp` is now mangled into\n`_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSA_`\n(`std::time_put\n> >::put(std::ostreambuf_iterator >,\nstd::ios_base&, char, tm const*, char const*, char const) const`) instead\nof the expected\n`_ZNKSt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE3putES3_RSt8ios_basecPK2tmPKcSB_`\n(`std::time_put\n> >::put(std::ostreambuf_iterator >,\nstd::ios_base&, char, tm const*, char const*, char const*) const`),\ni.e. `char const` for the final arg instead of `char const*`. I don't have\nthe slightest idea why, unfortunately.","shortMessageHtmlLink":"[WIP][clang] Fix std::tm etc. mangling on Solaris"}},{"before":"21de04918e0b4b6835d331b726861740525d06d9","after":"d4ffccfce103b01401b8a9222e373f2d404f8439","ref":"refs/heads/main","pushedAt":"2024-08-27T15:02:12.000Z","pushType":"push","commitsCount":744,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[libc++] Simplify the implementation of std::sort a bit (#104902)\n\nThis does a few things to canonicalize the library a bit. Specifically\r\n- use `__desugars_to_v` instead of the custom `__is_simple_comparator`\r\n- make `__use_branchless_sort` an inline variable\r\n- remove the `_maybe_branchless` versions of the `__sortN` functions and\r\noverload based on whether we can do branchless sorting instead.","shortMessageHtmlLink":"[libc++] Simplify the implementation of std::sort a bit (llvm#104902)"}},{"before":null,"after":"9301cd5b57c09214256edf19753e2e047a5b5f91","ref":"refs/heads/compiler-rt-sanitizer_common-kernel_stat-linux-19.x","pushedAt":"2024-08-20T11:34:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[sanitizer_common] Make sanitizer_linux.cpp kernel_stat* handling Linux-specific\n\nfcd6bd5587cc376cd8f43b60d1c7d61fdfe0f535 broke the Solaris/sparcv9 buildbot:\n```\ncompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp:39:14: fatal error: 'asm/unistd.h' file not found\n 39 | # include \n | ^~~~~~~~~~~~~~\n```\nThat section should have been Linux-specific in the first place, which is\nwhat this patch does.\n\nTested on sparcv9-sun-solaris2.11.\n\n(cherry picked from commit 16e9bb9cd7f50ae2ec7f29a80bc3b95f528bfdbf)","shortMessageHtmlLink":"[sanitizer_common] Make sanitizer_linux.cpp kernel_stat* handling Lin…"}},{"before":"3389604cd95d4d12eb975f4057ed21828f5b53ce","after":"437434df21d839becb453f6821564662e9824f02","ref":"refs/heads/release/19.x","pushedAt":"2024-08-20T11:30:22.000Z","pushType":"push","commitsCount":132,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"Bump version to 19.1.0-rc3","shortMessageHtmlLink":"Bump version to 19.1.0-rc3"}},{"before":"0d074ba197166b4f00cc3b1b1011625eb7be0a53","after":"21de04918e0b4b6835d331b726861740525d06d9","ref":"refs/heads/main","pushedAt":"2024-08-20T11:29:59.000Z","pushType":"push","commitsCount":616,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[gn build] Port 42067f26cd08","shortMessageHtmlLink":"[gn build] Port 42067f2"}},{"before":"6e04d8e998f97ece7590a97565525d5b93af60a2","after":"d2e4a7db0bdc9ffbd1533fd86bd8db8f55b994d8","ref":"refs/heads/flang-test-Driver-fveclib-codegen-x86_64","pushedAt":"2024-08-14T18:11:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"Run test on both aarch64 and x86_64.","shortMessageHtmlLink":"Run test on both aarch64 and x86_64."}},{"before":null,"after":"6e04d8e998f97ece7590a97565525d5b93af60a2","ref":"refs/heads/flang-test-Driver-fveclib-codegen-x86_64","pushedAt":"2024-08-14T09:26:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rorth","name":"Rainer Orth","path":"/rorth","primaryAvatarUrl":"https://github.com/avatars/u/3930951?s=80&v=4"},"commit":{"message":"[flang][test] Run Driver/fveclib-codegen.f90 for x86_64\n\n`Flang :: Driver/fveclib-codegen.f90` currently `FAIL`s on SPARC, both\nSolaris/sparcv9 and Linux/sparc64:\n```\nbin/flang-new -S -Ofast -fveclib=LIBMVEC -o - /vol/llvm/src/llvm-project/local/flang/test/Driver/fveclib-codegen.f90\n\nflang/test/Driver/fveclib-codegen.f90:11:10: error: CHECK: expected string not found in input\n! CHECK: _ZGVbN4vv_powf\n ^\n```\nThe code in question only contains calls to `powf`. Given that `glibc`\nonly supports `libmvec` on `aarch64` and `x86_64`, this test needs to\ntarget either of those to work.\n\nTested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,\n`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.","shortMessageHtmlLink":"[flang][test] Run Driver/fveclib-codegen.f90 for x86_64"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxMzo1MjoxMi4wMDAwMDBazwAAAAS8BYhA","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxMzo1MjoxMi4wMDAwMDBazwAAAAS8BYhA","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0xNFQwOToyNjo1NS4wMDAwMDBazwAAAASaD1Bn"}},"title":"Activity · rorth/llvm-project"}