Page MenuHomePhabricator

ro (Rainer Orth)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 1 2016, 4:12 AM (313 w, 5 d)

Recent Activity

Yesterday

ro added a comment to D118450: [RuntimeDyld] Handle SPARC.
In D118450#3630074, @ro wrote:
Tue, Jul 5, 7:19 AM · Restricted Project, Restricted Project
ro added a comment to D118450: [RuntimeDyld] Handle SPARC.
In D118450#3304109, @ro wrote:

... which suggests that maybe HaveJIT should be set to false in SparcTargetInfo.cpp until this patch is resolved?

No, that something other than the tests uses the MCJIT support.

Lots of things use MCJIT, but MCJIT/Sparc can't have been be used anywhere, since this is the patch that introduces support.

Tue, Jul 5, 5:21 AM · Restricted Project, Restricted Project

Sat, Jun 25

ro committed rGb4ae67fffa40: [asan][test] XFAIL global-location-nodebug.cpp on Solaris (authored by ro).
[asan][test] XFAIL global-location-nodebug.cpp on Solaris
Sat, Jun 25, 1:41 AM · Restricted Project, Restricted Project
ro closed D128516: [asan][test] XFAIL global-location-nodebug.cpp on Solaris.
Sat, Jun 25, 1:41 AM · Restricted Project, Restricted Project

Fri, Jun 24

ro requested review of D128516: [asan][test] XFAIL global-location-nodebug.cpp on Solaris.
Fri, Jun 24, 5:10 AM · Restricted Project, Restricted Project

May 6 2022

Herald added a project to D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary: Restricted Project.
In D120059#3338258, @ro wrote:

Abandoned unless absolutely necessary for Illumos support. As discussed, a way better alternative would be for them to implement dlpi_tls_modid or at least provide a way to distuingish Illumos from Solaris as outlined in Issue #53919.

May 6 2022, 7:28 AM · Restricted Project, Restricted Project

Feb 25 2022

ro accepted D120451: [sancov] Add SPARC support for getPreviousInstructionPc..

The patch looks sensible, but isn't actually exercised: I ran a sparcv9-sun-solaris2.11 build with it included, which made no difference. However, on closer inspection, the sanitizer_coverage_trace_pc_guard*.cpp tests didn't run: they aren't supported together with ubsan, while asan isn't supported on SPARC due to a clang bug/limitation.

Feb 25 2022, 4:11 AM · Restricted Project
ro added a comment to D120472: [sanitizer_common] Enable trace pc guard coverage test on PPC64/s390x/MIPS.

These test now all seem to fail on s390x:
https://lab.llvm.org/buildbot/#/builders/94/builds/7962

Feb 25 2022, 1:31 AM · Restricted Project
ro accepted D120381: [Triple] Add llvm::Triple::isSPARC{,32,64}.

LGTM

Feb 25 2022, 1:23 AM · Restricted Project

Feb 24 2022

ro added inline comments to D120381: [Triple] Add llvm::Triple::isSPARC{,32,64}.
Feb 24 2022, 4:31 AM · Restricted Project
ro added inline comments to D120381: [Triple] Add llvm::Triple::isSPARC{,32,64}.
Feb 24 2022, 3:52 AM · Restricted Project
ro added a comment to D120381: [Triple] Add llvm::Triple::isSPARC{,32,64}.
Feb 24 2022, 3:49 AM · Restricted Project
ro added a comment to D120381: [Triple] Add llvm::Triple::isSPARC{,32,64}.
Feb 24 2022, 1:31 AM · Restricted Project

Feb 23 2022

ro added a comment to D120381: [Triple] Add llvm::Triple::isSPARC{,32,64}.

Looking at existing cases of comparisons with Triple::sparc and Triple::sparcv9, I guess we should have isSPARC32 and isSPARC64, too, like isMIPS32/isMIPS64 and isPPC32/isPPC64. When switching to isSPARC* from existing Triple::sparc* comparisons, one will have to be extra careful if they are meant to mean SPARC in general or 32-bit SPARC in particular. little-endian SPARC is another beast altogether: I didn't even know it existed beyond the ability of SPARCV9 CPUs to partially run in LE mode, so it will be hard to tell if LE SPARC is to be included. I guess only code review and testing by interested parties can tell.

Feb 23 2022, 6:58 AM · Restricted Project
ro added inline comments to D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 23 2022, 6:46 AM · Restricted Project
ro committed rG365be7ac72a3: [MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris (authored by ro).
[MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris
Feb 23 2022, 6:44 AM
ro closed D120318: [MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 23 2022, 6:43 AM · Restricted Project
ro committed rG42e391e4ca84: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris (authored by ro).
[ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris
Feb 23 2022, 6:42 AM
ro closed D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 23 2022, 6:42 AM · Restricted Project
ro updated the diff for D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
  • Whitespace fixes.
  • Tighten error checking.
Feb 23 2022, 5:25 AM · Restricted Project
ro added inline comments to D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 23 2022, 5:24 AM · Restricted Project
ro added a comment to D120362: [sanitizer][sancov] Refactor GetNextInstructionPc/GetPreviousInstructionPc.
Feb 23 2022, 4:52 AM · Restricted Project, Restricted Project
ro updated the diff for D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
  • Formatting fixes.
  • Improve/test error handling.
Feb 23 2022, 2:20 AM · Restricted Project
ro added inline comments to D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 23 2022, 1:37 AM · Restricted Project

Feb 22 2022

ro updated the diff for D120318: [MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.

Comment and whitespace fixes.

Feb 22 2022, 1:03 PM · Restricted Project
ro added inline comments to D120318: [MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 22 2022, 12:59 PM · Restricted Project
ro updated the diff for D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.

Whitespace fixes.

Feb 22 2022, 12:58 PM · Restricted Project
ro added inline comments to D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 22 2022, 12:54 PM · Restricted Project
ro abandoned D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.

Abandoned unless absolutely necessary for Illumos support. As discussed, a way better alternative would be for them to implement dlpi_tls_modid or at least provide a way to distuingish Illumos from Solaris as outlined in Issue #53919.

Feb 22 2022, 11:24 AM · Restricted Project, Restricted Project
ro abandoned D91605: [sanitizers] Implement GetTls on Solaris.

Superceded by D119829 and D120048. If absolutely necessary, D120059 could be revived if Illumos cannot implement dlpi_tls_modid.

Feb 22 2022, 11:21 AM · Restricted Project, Restricted Project, Restricted Project
ro committed rGcb8e9bea95b3: [sanitizer_common] Use GetStaticTlsBoundary on Solaris 11.4 (authored by ro).
[sanitizer_common] Use GetStaticTlsBoundary on Solaris 11.4
Feb 22 2022, 11:19 AM
ro closed D120048: [sanitizer_common] Use GetStaticTlsBoundary on Solaris 11.4.
Feb 22 2022, 11:19 AM · Restricted Project
ro committed rGb1fc966d2e41: [Driver] Support Solaris/amd64 GetTls (authored by ro).
[Driver] Support Solaris/amd64 GetTls
Feb 22 2022, 11:15 AM
ro closed D119829: [Driver] Support Solaris/amd64 GetTls.
Feb 22 2022, 11:15 AM · Restricted Project
ro updated the diff for D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
  • Split off MC and CodeGen parts as D120318.
  • Add testcases.
Feb 22 2022, 4:07 AM · Restricted Project
ro added a comment to D107955: [ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.

I've finally gotten around to this: MC and CodeGen parts split off as D120318.

Feb 22 2022, 4:06 AM · Restricted Project
ro requested review of D120318: [MC][ELF] Use SHF_SUNW_NODISCARD instead of SHF_GNU_RETAIN on Solaris.
Feb 22 2022, 4:05 AM · Restricted Project

Feb 21 2022

ro added a comment to D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.

@MaskRay: With this patch effectively abandoned and the Illumos situation in their court, are you ok with D120048 going in now as is?

Feb 21 2022, 5:22 AM · Restricted Project, Restricted Project
ro committed rG722ad3c48d63: [DebugInfo][test] XFAIL DebugInfo/Generic/no-empty-child-vars.ll on SPARC (authored by ro).
[DebugInfo][test] XFAIL DebugInfo/Generic/no-empty-child-vars.ll on SPARC
Feb 21 2022, 2:23 AM
ro closed D120238: [DebugInfo][test] XFAIL DebugInfo/Generic/no-empty-child-vars.ll on SPARC.
Feb 21 2022, 2:23 AM · Restricted Project
ro added a comment to D95617: [DWARF] Inlined variables with no location should not have a DW_TAG_variable.

I've now updated Issue #46473 for this failure and posted D120238 to XFAIL the test. I think that's the best solution for now and in line with what was done for the other affected testcases. This way, when/if the bug gets fixed, all affected tests start to XPASS and can be adjusted.

Feb 21 2022, 1:56 AM · Restricted Project
ro requested review of D120238: [DebugInfo][test] XFAIL DebugInfo/Generic/no-empty-child-vars.ll on SPARC.
Feb 21 2022, 1:54 AM · Restricted Project

Feb 19 2022

ro updated the diff for D119829: [Driver] Support Solaris/amd64 GetTls.

Testcase formatting improvements.

Feb 19 2022, 5:51 AM · Restricted Project
ro added inline comments to D119829: [Driver] Support Solaris/amd64 GetTls.
Feb 19 2022, 5:51 AM · Restricted Project

Feb 18 2022

ro updated the diff for D119829: [Driver] Support Solaris/amd64 GetTls.

Test fixes as per review comments.

Feb 18 2022, 2:18 AM · Restricted Project
ro added inline comments to D119829: [Driver] Support Solaris/amd64 GetTls.
Feb 18 2022, 2:18 AM · Restricted Project
ro added a comment to D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.
Feb 18 2022, 1:04 AM · Restricted Project, Restricted Project
ro added inline comments to D119695: [Support] Fix build on illumos.
Feb 18 2022, 12:55 AM · Restricted Project

Feb 17 2022

ro added a comment to D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.
Feb 17 2022, 1:22 PM · Restricted Project, Restricted Project
ro updated subscribers of D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.
Feb 17 2022, 1:14 PM · Restricted Project, Restricted Project
ro added a comment to D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.

D120048 decreases the number of lines and looks good to me. But for this one, there is now more complexity... Can we just let old systems (Solaris<=11.3) use *addr = 0; *size = 0;?

Feb 17 2022, 11:56 AM · Restricted Project, Restricted Project
ro added a comment to D91605: [sanitizers] Implement GetTls on Solaris.
In D91605#3329375, @ro wrote:
Feb 17 2022, 7:25 AM · Restricted Project, Restricted Project, Restricted Project
ro requested review of D120059: [sanitizer_common] Support Solaris < 11.4 in GetStaticTlsBoundary.
Feb 17 2022, 7:22 AM · Restricted Project, Restricted Project
ro added a comment to D91605: [sanitizers] Implement GetTls on Solaris.
In D91605#3322312, @ro wrote:

GetTls is about the static TLS block size. It consists of the main executable's TLS, and initially loaded shared objects' TLS, struct pthread, and padding.
Solaris should be able to just use the code path like FreeBSD, Linux musl, and various unpopular architectures of Linux glibc:

#elif SANITIZER_FREEBSD || SANITIZER_LINUX
  uptr align;
  GetStaticTlsBoundary(addr, size, &align);

Not unconditionally, unfortunally: as the comment above GetSizeFromHdr explains, dlpi_tls_modid was only introduced in an update to Solaris 11.4 FCS (which is sort of a problem), but isn't present in 11.3 (don't reallly care) and Illumos (this would break compilation for them). OTOH my solution is successfully being used in GCC's libphobos on Solaris 11.3, 11.4, and most likely Illumos, too. I'd rather not burn the Illumos bridge if it can be avoided.

Feb 17 2022, 5:49 AM · Restricted Project, Restricted Project, Restricted Project
ro requested review of D120048: [sanitizer_common] Use GetStaticTlsBoundary on Solaris 11.4.
Feb 17 2022, 5:42 AM · Restricted Project

Feb 16 2022

ro added inline comments to D119695: [Support] Fix build on illumos.
Feb 16 2022, 2:02 AM · Restricted Project

Feb 15 2022

ro added a comment to D119695: [Support] Fix build on illumos.

Wouldn't the correct solution for Illumos be to use posix_madvise instead? Possibly with __EXTENSIONS__. Declaring prototypes like this is just begging for problems long term...

Feb 15 2022, 7:32 AM · Restricted Project
ro added a comment to D91605: [sanitizers] Implement GetTls on Solaris.

The Clang driver change should be in a separate patch with clang/test/Driver tests.

Feb 15 2022, 4:14 AM · Restricted Project, Restricted Project, Restricted Project
ro requested review of D119829: [Driver] Support Solaris/amd64 GetTls.
Feb 15 2022, 4:13 AM · Restricted Project
ro added a comment to D91605: [sanitizers] Implement GetTls on Solaris.

GetTls is about the static TLS block size. It consists of the main executable's TLS, and initially loaded shared objects' TLS, struct pthread, and padding.
Solaris should be able to just use the code path like FreeBSD, Linux musl, and various unpopular architectures of Linux glibc:

#elif SANITIZER_FREEBSD || SANITIZER_LINUX
  uptr align;
  GetStaticTlsBoundary(addr, size, &align);
Feb 15 2022, 2:38 AM · Restricted Project, Restricted Project, Restricted Project

Feb 14 2022

ro added a comment to D119695: [Support] Fix build on illumos.

I don't fully understand the caddr_t thing. If there is an action item for illumnos, we should make sure they know, so that llvm-project can drop the hacks.

Feb 14 2022, 1:33 PM · Restricted Project
ro added a comment to D91605: [sanitizers] Implement GetTls on Solaris.

@vitalybuka , @MaskRay could I persuade you to review the revision version which should be much less controversial and completely Solaris-specific? Thanks.

Feb 14 2022, 6:29 AM · Restricted Project, Restricted Project, Restricted Project
ro updated subscribers of D91605: [sanitizers] Implement GetTls on Solaris.
Feb 14 2022, 6:27 AM · Restricted Project, Restricted Project, Restricted Project
ro updated the diff for D91605: [sanitizers] Implement GetTls on Solaris.

Since the build-time check for the ld -z relax=transtls option was met with massive resistance and was only necessary for Illumos anyway, this revision just uses it unconditionally.

Feb 14 2022, 6:26 AM · Restricted Project, Restricted Project, Restricted Project
ro accepted D119695: [Support] Fix build on illumos.

LGTM

Feb 14 2022, 2:14 AM · Restricted Project
ro added inline comments to D119695: [Support] Fix build on illumos.
Feb 14 2022, 2:04 AM · Restricted Project

Feb 11 2022

ro added a comment to D95617: [DWARF] Inlined variables with no location should not have a DW_TAG_variable.

I just found the -disable-sparc-delay-filler option in llvm/lib/Target/Sparc/DelaySlotFiller.cpp. As expected, with it added to the llc invocation the unmodified test PASSes.

Feb 11 2022, 7:24 AM · Restricted Project

Feb 10 2022

ro committed rGc2b9e9674d52: [fir] Fix FlangOptimizerTests link on Solaris (authored by ro).
[fir] Fix FlangOptimizerTests link on Solaris
Feb 10 2022, 7:10 AM
ro closed D119438: [fir] Fix FlangOptimizerTests link on Solaris.
Feb 10 2022, 7:10 AM · Restricted Project, Restricted Project
ro requested review of D119438: [fir] Fix FlangOptimizerTests link on Solaris.
Feb 10 2022, 6:57 AM · Restricted Project, Restricted Project
ro committed rGa6afa9e6b0d9: [Driver] Use libatomic for 32-bit SPARC atomics support (authored by ro).
[Driver] Use libatomic for 32-bit SPARC atomics support
Feb 10 2022, 3:41 AM
ro closed D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.
Feb 10 2022, 3:40 AM · Restricted Project, Restricted Project
ro added inline comments to D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.
Feb 10 2022, 3:36 AM · Restricted Project, Restricted Project
ro updated the diff for D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.

Simplify test.

Feb 10 2022, 3:34 AM · Restricted Project, Restricted Project
ro added inline comments to D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.
Feb 10 2022, 2:53 AM · Restricted Project, Restricted Project

Feb 9 2022

ro added inline comments to D119324: [MLIR][Presburger] Disambiguate call to floor.
Feb 9 2022, 1:03 PM · Restricted Project
ro committed rG91596755359e: [MLIR][Presburger] Disambiguate call to floor (authored by ro).
[MLIR][Presburger] Disambiguate call to floor
Feb 9 2022, 1:02 PM
ro closed D119324: [MLIR][Presburger] Disambiguate call to floor.
Feb 9 2022, 1:02 PM · Restricted Project
ro committed rGd2215e79ac27: [mlir][sparse] Rename index_t to index_type again (authored by ro).
[mlir][sparse] Rename index_t to index_type again
Feb 9 2022, 1:00 PM
ro closed D119323: [mlir][sparse] Rename index_t to index_type again.
Feb 9 2022, 1:00 PM · Restricted Project
ro updated the diff for D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.

Add tests in solaris-ld.c.

Feb 9 2022, 4:26 AM · Restricted Project, Restricted Project
ro added a comment to D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.

This needs some tests, otherwise there is a risk that others may break your changes when refactoring driver code.

Feb 9 2022, 4:24 AM · Restricted Project, Restricted Project
ro requested review of D119324: [MLIR][Presburger] Disambiguate call to floor.
Feb 9 2022, 3:49 AM · Restricted Project
ro requested review of D119323: [mlir][sparse] Rename index_t to index_type again.
Feb 9 2022, 3:40 AM · Restricted Project
ro added a comment to D118021: [Driver] Use libatomic for 32-bit SPARC atomics support.

Ping^2. It would be great if this could be reviewed/commited soon: it fixes hundreds of testsuite failures, so I'd like to get it into LLVM 14.

Feb 9 2022, 12:25 AM · Restricted Project, Restricted Project
ro committed rGb63ca0a0681f: [Sanitizers][test] XFAIL long double tests on Solaris/sparc (authored by ro).
[Sanitizers][test] XFAIL long double tests on Solaris/sparc
Feb 9 2022, 12:21 AM
ro closed D119016: [Sanitizers][test] XFAIL long double tests on Solaris/sparc.
Feb 9 2022, 12:20 AM · Restricted Project
ro added a comment to D91827: EXPERIMENTAL sign-extend addresses in CompactRingBuffer.

@eugenis: With D91615 now in, could you please commit this patch? It's the remaining piece required to make CompactRingBuffer.int64 work on Solaris/sparcv9.

Feb 9 2022, 12:18 AM · Restricted Project
ro committed rG0e4b214b8c40: [sanitizer_common] Don't try to unmap unaligned memory (authored by ro).
[sanitizer_common] Don't try to unmap unaligned memory
Feb 9 2022, 12:16 AM
ro closed D91615: [sanitizer_common] Don't try to unmap unaligned memory.
Feb 9 2022, 12:16 AM · Restricted Project
ro committed rG0d4b6f1f4b7b: [sanitizer_common] Fix DenseMapCustomTest.DefaultMinReservedSizeTest on SPARC (authored by ro).
[sanitizer_common] Fix DenseMapCustomTest.DefaultMinReservedSizeTest on SPARC
Feb 9 2022, 12:12 AM
ro closed D118771: [sanitizer_common] Fix DenseMapCustomTest.DefaultMinReservedSizeTest on SPARC.
Feb 9 2022, 12:12 AM · Restricted Project
ro added inline comments to D118771: [sanitizer_common] Fix DenseMapCustomTest.DefaultMinReservedSizeTest on SPARC.
Feb 9 2022, 12:10 AM · Restricted Project

Feb 8 2022

ro added a comment to D95617: [DWARF] Inlined variables with no location should not have a DW_TAG_variable.
Feb 8 2022, 12:31 PM · Restricted Project
ro added a comment to D118450: [RuntimeDyld] Handle SPARC.

I noticed this bug report for PostgreSQL on Sparc for this particular functionality.

https://github.com/llvm/llvm-project/issues/47229

Feb 8 2022, 4:04 AM · Restricted Project, Restricted Project

Feb 7 2022

ro committed rG541171f02fd7: [CodeGen][test] XFAIL CodeGen/Generic/ForceStackAlign.ll on SPARC (authored by ro).
[CodeGen][test] XFAIL CodeGen/Generic/ForceStackAlign.ll on SPARC
Feb 7 2022, 11:58 PM
ro closed D119119: [CodeGen][test] XFAIL CodeGen/Generic/ForceStackAlign.ll on SPARC.
Feb 7 2022, 11:58 PM · Restricted Project
ro added a comment to D119119: [CodeGen][test] XFAIL CodeGen/Generic/ForceStackAlign.ll on SPARC.

Was the llc flag -stack-alignment=32 previously being ignored on sparc?

Feb 7 2022, 11:55 PM · Restricted Project
ro added a comment to D95617: [DWARF] Inlined variables with no location should not have a DW_TAG_variable.

no-empty-child-vars.ll FAILs on SPARC: the first

; CHECK:     DW_TAG_subprogram
; CHECK:       DW_AT_abstract_origin (0x{{[0-9a-f]*}} "foo")

is missing completely and both qux and croix lack DW_TAG_inlined_subroutine.

Feb 7 2022, 3:50 AM · Restricted Project
ro committed rG9576698a3ebc: [DebugInfo][test] XFAIL DebugInfo/Generic/missing-abstract-variable.ll on SPARC (authored by ro).
[DebugInfo][test] XFAIL DebugInfo/Generic/missing-abstract-variable.ll on SPARC
Feb 7 2022, 3:44 AM