Page MenuHomePhabricator

uweigand (Ulrich Weigand)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 14 2013, 11:48 AM (518 w, 4 d)

Recent Activity

Yesterday

uweigand added inline comments to D146059: [SystemZ] Allow fp/int casting into inline assembly operands.
Thu, Mar 23, 8:48 AM · Restricted Project, Restricted Project

Tue, Mar 21

uweigand added inline comments to D146059: [SystemZ] Allow fp/int casting into inline assembly operands.
Tue, Mar 21, 11:24 AM · Restricted Project, Restricted Project
uweigand added a comment to D146059: [SystemZ] Allow fp/int casting into inline assembly operands.

The 128-bit logic doesn't look quite right to me. I think what should be used there is:

  • "r" constraint - GPR register pair
  • "f" constraint - FPR register pair if hard-float, error if soft-float
  • "v" constraint - single VR if vector support enabled, error otherwise
Tue, Mar 21, 7:11 AM · Restricted Project, Restricted Project
uweigand accepted D146505: [s390x] Put compiler-rt in runtimes.

LGTM, thanks for taking care of s390x!

Tue, Mar 21, 3:20 AM · Restricted Project

Fri, Mar 17

uweigand accepted D146185: [SystemZ] Allow any I5 in RotateSelect*.

I believe the imm32zx6 operand definition is now unused and should be removed as well. Otherwise this LGTM.

Fri, Mar 17, 9:34 AM · Restricted Project, Restricted Project

Tue, Mar 14

uweigand accepted D145811: [SystemZ] Don't reuse a sub that can overflow during isel..

LGTM as well, thanks!

Tue, Mar 14, 10:30 AM · Restricted Project, Restricted Project

Feb 16 2023

uweigand added a comment to D143813: [ClangFE] Check that __sync builtins are naturally aligned..

I believe the situation between the __sync and __atomic builtins is a bit different, though. For __atomic, if the compiler cannot prove correct alignment, it will emit a library call. This should always do the correct thing, however may have a performance overhead - which is what the warning says.

Feb 16 2023, 11:12 AM · Restricted Project, Restricted Project

Feb 6 2023

uweigand accepted D143296: [MSan] Fix calling pointers to varargs functions on SystemZ.

Fix by checking this attribute on the current function. Alternatively, one could try the callee first, but this is pointless, since one should not be mixing hardfloat and softfloat code anyway.

Feb 6 2023, 9:24 AM · Restricted Project, Restricted Project

Feb 1 2023

uweigand accepted D142987: ReleaseNotes: add SystemZ notes.

LGTM

Feb 1 2023, 4:52 AM · Restricted Project, Restricted Project

Jan 31 2023

uweigand accepted D142971: [SystemZ] Implement isGuaranteedNotToBeUndefOrPoisonForTargetNode().

There are probably other SystemZISD nodes that could go in here, but I am not quite sure how this is supposed to work: It seems to me that some kind of undef/poison value is recognized and at some point a freeze instruction is inserted in the IR. Then the DAGCombiner optimizes it away because there is a target node that now says that it is never undef..? This is contradictory but probably still worthwhile somehow, but I can't quite figure out how..?

Jan 31 2023, 11:43 AM · Restricted Project, Restricted Project
uweigand added a comment to D142987: ReleaseNotes: add SystemZ notes.

These points all look good to me, but shouldn't the __int128 alignment change (https://reviews.llvm.org/D130900) also be mentioned?

Jan 31 2023, 11:14 AM · Restricted Project, Restricted Project

Jan 27 2023

uweigand accepted D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..

Thanks! Minor commit nit inline, otherwise this now LGTM.

Jan 27 2023, 9:27 AM · Restricted Project, Restricted Project
uweigand added a comment to D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..

There is no difference with GCC between z10/z13 here, so this may not be actually necessary as far as I can see.

(Patch now matches GCC behavior also in the single element struct case.)

Jan 27 2023, 8:38 AM · Restricted Project, Restricted Project

Jan 26 2023

uweigand added a comment to D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..

The old behavior is not explicitly specified by any ABI doc, so we can really only go after what GCC actually used to do. And in fact GCC used to (and still does!) simply place such arguments on the stack and passes a hidden pointer to the stack slot - without any dynamic stack realignment, so it in fact only guarantees 8 byte alignment. So I think it is *safe* to assume that using 8 bytes always is OK - and in that sense it is safe to omit the GNU attribute.

OK - I have been assuming that *all* vectors in memory should be aligned the same, but if that's not necessarily true for wide vector arguments that are forced to the stack, I guess that explains this. Should I update the patch to do just like GCC in these cases (and not emit the attribute)?

Jan 26 2023, 10:44 AM · Restricted Project, Restricted Project
uweigand added a comment to D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..

Well, with this test case:

typedef __attribute__((vector_size(32))) int v8i32;
Jan 26 2023, 10:10 AM · Restricted Project, Restricted Project
uweigand updated subscribers of D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..

Review addressed - hopefully this time with a better result.

I think the patch now does what I want it to, while I found some test cases while checking against GCC which I am a little unsure of:

(using GCC 12.2.1, 20220901)

Jan 26 2023, 9:09 AM · Restricted Project, Restricted Project

Jan 20 2023

uweigand added inline comments to D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..
Jan 20 2023, 5:50 AM · Restricted Project, Restricted Project

Jan 15 2023

uweigand added a comment to D141187: [SystemZ] Set setMaxAtomicSizeInBitsSupported.

LegalizeTypes expands the i128 result of e.g. an AtomicLoadAdd node, which is done by DAGTypeLegalizer::ExpandAtomic(), which results in a library call. There are no tests for the atomic operations with i128, but it should work due to the TypeLegalizer. i128 is not a legal type so I guess therefore they are all expanded this way.

I could imagine that it might be beneficial to use the AtomicExpandPass to use the target instructions whenever possible, and libcalls otherwise. However, I am unsure about this: The AtomicExpandPass seems to do this (emit the libcalls only if needed, after checking alignment as well), but I see this in the Atomics document:

"One very important property of the atomic operations is that if your backend supports any inline lock-free atomic operations of a given size, you should support ALL operations of that size in a lock-free manner...it is invalid to implement atomic load using the native instruction, but cmpxchg using a library call to a function that uses a mutex, atomic load must also expand to a library call on such architectures, so that it can remain atomic with regards to a simultaneous cmpxchg, by using the same mutex."

I guess I must be missing something somehow...

Jan 15 2023, 8:43 AM · Restricted Project, Restricted Project

Jan 11 2023

uweigand accepted D140988: [SystemZ] Implement lowering of GET_ROUNDING.

Huh. We still get the lr :-( That now seems an inefficiency in the RXSBG optimization pass, so it's not a problem with this patch, which now LGTM. Thanks again!

Jan 11 2023, 1:22 PM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..

I was actually thinking of the case

struct arg
  {
     char x;
     v8i32 y;
  };
Jan 11 2023, 12:38 PM · Restricted Project, Restricted Project
uweigand added a comment to D140988: [SystemZ] Implement lowering of GET_ROUNDING.
CWD1 = efpc() & 3
CWD2 = (CWD1 ^ (CWD1 >> 1)) ^ 1

@uweigand This is not generating the right output.

Jan 11 2023, 12:22 PM · Restricted Project, Restricted Project, Restricted Project
uweigand added inline comments to D141409: [SystemZ] Fix handling of vectors and their exposure of the vector ABI..
Jan 11 2023, 1:49 AM · Restricted Project, Restricted Project
uweigand added a comment to D140988: [SystemZ] Implement lowering of GET_ROUNDING.

With the changes pointed out by @nikic this looks good to me.

Jan 11 2023, 1:21 AM · Restricted Project, Restricted Project, Restricted Project

Jan 9 2023

uweigand added a comment to D141187: [SystemZ] Set setMaxAtomicSizeInBitsSupported.

I don't think this is quite correct, as we do support 128-bit atomics on properly aligned addresses. In any case, the back-end implements atomic load, store, and cmpxchg for i128. We do not currently implement atomicrmw, but that could be handled in terms of cmpxchg of course. For non-aligned addresses, we do need to fall back to the library routine, however.

Jan 9 2023, 5:20 AM · Restricted Project, Restricted Project
uweigand added a comment to D140988: [SystemZ] Implement lowering of GET_ROUNDING.

Thanks for working on this!

Jan 9 2023, 4:50 AM · Restricted Project, Restricted Project, Restricted Project

Dec 12 2022

uweigand accepted D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

LGTM, thanks!

Dec 12 2022, 10:43 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D133949: Make sure the right parameter extension attributes are added in various instrumentation passes..

Don't know much about the signedness of the different args, which of course is important to get correct. I guess I have used zero-extension mostly - it would be good to get this reviewed properly. In OMPKinds.def I added ZExt to all narrow int args, except SExt for args marked with /* Int */.

Dec 12 2022, 6:03 AM · Restricted Project, Restricted Project, Restricted Project

Dec 9 2022

uweigand accepted D139738: [SystemZ] Simplify SystemZSubtarget.

LGTM, thanks!

Dec 9 2022, 12:36 PM · Restricted Project, Restricted Project
uweigand added a comment to D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

If you can tell me the platform.system() value to look for to detect z/OS, I can do that.

I don't know - this value is defined by the Python implementation on z/OS. On most platforms, this matches the value returned by "uname -s", but I don't know what this is on z/OS either.

Dec 9 2022, 1:42 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

If you can tell me the platform.system() value to look for to detect z/OS, I can do that.

Dec 9 2022, 12:36 AM · Restricted Project, Restricted Project, Restricted Project

Dec 7 2022

uweigand added a comment to D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

The changes in this patch assume that there aren't any possible suffixes after the -zos part of the triple (no version numbers, like you might find with darwin or macos, and nothing like -elf or -eabi like some targets have). If there are suffixes, I'll happily revise to put {{.*}} after everything.

Dec 7 2022, 6:47 AM · Restricted Project, Restricted Project, Restricted Project

Dec 6 2022

uweigand accepted D105067: [SystemZ] Emit .gnu_attribute for an externally visible vector abi..

See one inline comment, otherwise LGTM now. Thanks!

Dec 6 2022, 10:11 AM · Restricted Project, Restricted Project, Restricted Project

Dec 5 2022

uweigand added inline comments to D105067: [SystemZ] Emit .gnu_attribute for an externally visible vector abi..
Dec 5 2022, 6:37 AM · Restricted Project, Restricted Project, Restricted Project

Nov 23 2022

uweigand accepted D138324: [SystemZ] Make sure that combineGET_CCMASK() can handle a truncated SELECT_CCMASK..

LGTM, thanks!

Nov 23 2022, 2:04 AM · Restricted Project, Restricted Project

Nov 22 2022

uweigand added a comment to D138324: [SystemZ] Make sure that combineGET_CCMASK() can handle a truncated SELECT_CCMASK..

Looking into this a bit more, the argument to GET_CCMASK is known to be a boolean value (either 0 or 1), so we don't need to verify that after all, and can just accept truncates in general.

Nov 22 2022, 8:28 AM · Restricted Project, Restricted Project

Nov 17 2022

uweigand accepted D137044: [ClangFE] Add support for option -mno-pic-data-is-text-relative.

LGTM, thanks!

Nov 17 2022, 4:40 AM · Restricted Project, Restricted Project, Restricted Project

Nov 8 2022

uweigand added a comment to D137044: [ClangFE] Add support for option -mno-pic-data-is-text-relative.

Move this check into isPC32DBLSymbol, maybe?

Nov 8 2022, 2:37 AM · Restricted Project, Restricted Project, Restricted Project

Nov 4 2022

uweigand added a comment to D137044: [ClangFE] Add support for option -mno-pic-data-is-text-relative.

I'm very confused how you expect this to work... messing with the linkage of global variables is almost certainly going to explode. If you need emit special sequences to access global variables with internal linkage, I'd expect the backend to handle that (along the lines of how -frwpi works on ARM).

Nov 4 2022, 2:54 PM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D137044: [ClangFE] Add support for option -mno-pic-data-is-text-relative.

Can you describe the motivation adding this option? Is it for a FDPIC ABI? Removing the assumption that text and data has a constant offset generally make the code worse for data access. This is almost assuredly a bad idea if the system has a memory management unit.

This is intended to be used for "kpatch" - the Linux kernel live-patching facility. This allows replacing parts of the kernel code with an updated version at runtime. However, the *data* segment cannot be moved since it is already in use (and pointers to the data may be around), and so the replacement text segment will have to refer to the original data segment. Since the replacement text segment will generally end up at different addresses than the original one, this means the compiler cannot make assumptions about the relative distance from code to data.

Of course this in general results in worse code, but that is considered an acceptable cost to enable the live-patching feature. Note that GCC already supports the same option with the same semantics, used for the same purpose. The intent of supporting it in clang as well is simply to optionally enabling building the Linux kernel with clang instead of GCC while preserving the full set of kernel features.

I know the existence of livepatch in the Linux kernel though unfamiliar with it. The kernel doesn't use -mno-pic-data-is-text-relative right now for any port. Why does SystemZ need -mno-pic-data-is-text-relative for livepatch?

Nov 4 2022, 1:09 AM · Restricted Project, Restricted Project, Restricted Project

Nov 2 2022

uweigand added a comment to D137044: [ClangFE] Add support for option -mno-pic-data-is-text-relative.

Can you describe the motivation adding this option? Is it for a FDPIC ABI? Removing the assumption that text and data has a constant offset generally make the code worse for data access. This is almost assuredly a bad idea if the system has a memory management unit.

Nov 2 2022, 1:18 AM · Restricted Project, Restricted Project, Restricted Project

Nov 1 2022

uweigand accepted D137120: SystemZ: Register null target streamer.

LGTM, thanks!

Nov 1 2022, 10:09 AM · Restricted Project, Restricted Project

Oct 25 2022

uweigand committed rG96482ee4349a: [SystemZInstPrinter] Introduce markup tags emission (authored by uweigand).
[SystemZInstPrinter] Introduce markup tags emission
Oct 25 2022, 10:00 AM · Restricted Project, Restricted Project
uweigand closed D129868: [SystemZInstPrinter] Introduce markup tags emission.
Oct 25 2022, 10:00 AM · Restricted Project, Restricted Project
uweigand accepted D129868: [SystemZInstPrinter] Introduce markup tags emission.

LGTM now! Thanks for making those changes.

Oct 25 2022, 9:51 AM · Restricted Project, Restricted Project

Oct 24 2022

uweigand added inline comments to D129868: [SystemZInstPrinter] Introduce markup tags emission.
Oct 24 2022, 6:20 AM · Restricted Project, Restricted Project

Oct 19 2022

uweigand added a comment to D136217: [mlir][sparse] Fix breakage on older versions of cmake.

This fixed the s390x build bot again. Thanks!

Oct 19 2022, 3:53 PM · Restricted Project, Restricted Project
uweigand added a comment to D136002: [mlir][sparse] Factoring out SparseTensorEnums library.

This is breaking the mlir-s390x-linux builder (https://lab.llvm.org/buildbot/#/builders/199/builds/11463):

CMake Error at /home/uweigand/sandbox/buildbot/mlir-s390x-linux/llvm-project/mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt:12 (add_library):
  add_library INTERFACE library requires no source arguments.
Oct 19 2022, 1:59 AM · Restricted Project, Restricted Project

Oct 18 2022

uweigand added inline comments to D136145: [IR][RFC] Restrict read only when cache type of llvm.prefetch is instruction.
Oct 18 2022, 4:06 AM · Restricted Project, Restricted Project, Restricted Project

Oct 17 2022

uweigand added a comment to D136040: [X86][1/2] Support PREFETCHI instructions.

Sure, it is possible. But at least for now, there's no real target requires it. Checked with grep -rwn 'llvm.prefetch.*i32 0\s*)' llvm/test/CodeGen/.

Oct 17 2022, 9:18 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D136040: [X86][1/2] Support PREFETCHI instructions.
  1. Add semacheck for prefetch write to instruction cache;

I think the affected ARM and SystemZ tests are not valid before. Could @t.p.northover and @uweigand help to have a look?

Oct 17 2022, 7:37 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D136042: [DAG] Enable combineShiftOfShiftedLogic folds after type legalization.

The SystemZ change is a clear improvement, so that part LGTM. Thanks!

Oct 17 2022, 4:31 AM · Restricted Project, Restricted Project

Oct 12 2022

uweigand added a comment to D135778: [SystemZ] Revert migration of Large/branch-01.ll.

LGTM, thanks!

Oct 12 2022, 7:17 AM · Restricted Project, Restricted Project

Oct 5 2022

uweigand added a comment to D91620: [compiler-rt][test] Heed COMPILER_RT_DEBUG when compiling unittests.
In D91620#3836854, @ro wrote:

This seems to cause another regression, apparently only visible in cross builds: clang-s390x-linux buildbot: a link failure like this:

Oct 5 2022, 7:30 AM · Restricted Project, Restricted Project

Sep 22 2022

uweigand added a comment to D134430: [SystemZ] Relase notes for LLVM 15.

SystemZ content LGTM. Thanks!

Sep 22 2022, 6:23 AM · Restricted Project, Restricted Project

Sep 20 2022

uweigand added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

Sorry for the delay, I was traveling last week. Thanks for the use case, it's good to have some validation that the output in this form is actually usable.

Sep 20 2022, 12:30 AM · Restricted Project, Restricted Project

Sep 13 2022

uweigand added a comment to D133338: [clang][PowerPC] PPC64 VAArg use coerced integer type for direct aggregate fits in register.

This LGTM now, but maybe some of the PowerPC reviewers would like to comment as well. @nemanjai ?

Sep 13 2022, 6:11 AM · Restricted Project, Restricted Project

Sep 8 2022

uweigand accepted D131158: [SystemZ] Improve handling of vector alignments.

LGTM, thanks!

Sep 8 2022, 7:46 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added inline comments to D133338: [clang][PowerPC] PPC64 VAArg use coerced integer type for direct aggregate fits in register.
Sep 8 2022, 7:10 AM · Restricted Project, Restricted Project

Sep 7 2022

uweigand added a comment to D133338: [clang][PowerPC] PPC64 VAArg use coerced integer type for direct aggregate fits in register.

I think it is correct to implement this in Clang. Note that on SystemZ (another big-endian platform), we also implement this in EmitVAArg. Of course the details are different since we're not using emitVoidPtrVAArg on that platform.

Sep 7 2022, 5:36 AM · Restricted Project, Restricted Project

Sep 2 2022

uweigand added a comment to D132726: [MLIR] Remove unused config attributes from lit.site.cfg.py.

This causes builder failures on s390x to reappear:
https://lab.llvm.org/buildbot/#/builders/199/builds/9247

Sep 2 2022, 9:41 AM · Restricted Project, Restricted Project

Aug 29 2022

uweigand added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

@uweigand, mostly third-party clients such as disassemblers and pretty printers, as per official documentation. Already supported by ARM as well as x64.

Aug 29 2022, 6:50 AM · Restricted Project, Restricted Project

Aug 26 2022

uweigand added a comment to D129868: [SystemZInstPrinter] Introduce markup tags emission.

Can you explain what this is, and where this marked-up assembler could be useful? I see so far only ARM supports that feature, but I don't really understand the point ...

Aug 26 2022, 6:52 AM · Restricted Project, Restricted Project

Aug 24 2022

uweigand added a comment to D131747: [mlir] Add initial support for a binary serialization format.

@uweigand Thanks for the ping, it's possible big-endian is fine up to the point at which some of the tests fail (I haven't had time to setup a venv to test everything out). UNSUPPORTED is likely a better check than XFAIL there (I just copied from our other s390x broken test)

Aug 24 2022, 9:06 AM · Restricted Project, Restricted Project

Aug 22 2022

uweigand added a comment to D131747: [mlir] Add initial support for a binary serialization format.

Hi @rriddle , as of commit https://github.com/llvm/llvm-project/commit/93cf0e8a28e8c682f65d3e5c394d1eb169ca09ce the s390x build bot is still red due to "unexpected success":

XPASS: MLIR::invalid-string_section.mlir
XPASS: MLIR::invalid_attr_type_offset_section.mlir
XPASS: MLIR::invalid_attr_type_section.mlir
XPASS: MLIR::invalid-structure.mlir
XPASS: MLIR::invalid-ir_section.mlir
XPASS: MLIR::invalid-dialect_section.mlir

(see https://lab.llvm.org/buildbot/#/builders/199/builds/8674)

Aug 22 2022, 11:20 AM · Restricted Project, Restricted Project

Aug 4 2022

uweigand added a comment to D131158: [SystemZ] Improve handling of vector alignments.

It seems that SPEC builds identically both for z15 and zEC12, which is promising.

Aug 4 2022, 5:48 AM · Restricted Project, Restricted Project, Restricted Project

Aug 3 2022

uweigand accepted D130900: [SystemZ] Make 128 bit integers be aligned to 8 bytes..

LGTM, thanks!

Aug 3 2022, 6:03 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D130900: [SystemZ] Make 128 bit integers be aligned to 8 bytes..

@uweigand I also added tests for the alignment of a vector depending on the presence of the vector facility. I am not sure if I have run into something weird here, but I left the test and output this way for now so you can see what I mean: If I use -mattr=-vector the alignment becomes 16 for the vector, but not if this is specified in the function attributes only (see @f2).

Aug 3 2022, 5:04 AM · Restricted Project, Restricted Project, Restricted Project

Jul 27 2022

uweigand added a comment to D77804: [DAG] Enable ISD::SRL SimplifyMultipleUseDemandedBits handling inside SimplifyDemandedBits.

I think I've covered all the remaining regressions now - D129765 has cleaned up a number of annoying cases - including the SystemZ v3i31 copy test!

Jul 27 2022, 4:27 AM · Restricted Project, Restricted Project

Jul 18 2022

uweigand added a comment to D129856: [libunwind][SystemZ] Use process_vm_readv to avoid potential segfaults.

process_vm_readv was introduced in Linux 3.2; is it okay to use it unconditionally for you? (aarch64 support was only added in Linux 3.7, so we were guaranteed to have the syscall available for it.)

Jul 18 2022, 7:59 AM · Restricted Project, Restricted Project, Restricted Project
uweigand committed rG24ec521cd7bb: [libunwind][SystemZ] Use process_vm_readv to avoid potential segfaults (authored by uweigand).
[libunwind][SystemZ] Use process_vm_readv to avoid potential segfaults
Jul 18 2022, 7:57 AM · Restricted Project
uweigand closed D129856: [libunwind][SystemZ] Use process_vm_readv to avoid potential segfaults.
Jul 18 2022, 7:57 AM · Restricted Project, Restricted Project, Restricted Project
uweigand added a comment to D77804: [DAG] Enable ISD::SRL SimplifyMultipleUseDemandedBits handling inside SimplifyDemandedBits.

IMO the fun2 regression probably shouldn't block the patch from being merged. I've looked into the sequences, and actually neither of them is even close to optimal.

Jul 18 2022, 7:28 AM · Restricted Project, Restricted Project

Jul 15 2022

uweigand accepted D129853: Reland "[SystemZ][z/OS] Fix f32 variadic argument assertion".

LGTM, thanks!

Jul 15 2022, 7:45 AM · Restricted Project, Restricted Project
uweigand added a comment to D126343: [libunwind] Use process_vm_readv to avoid potential segfaults.

The s390x code path should likely follow suit, but I don't have the
hardware to be able to test that, so I didn't modify it here either.

Jul 15 2022, 7:43 AM · Restricted Project, Restricted Project, Restricted Project
uweigand requested review of D129856: [libunwind][SystemZ] Use process_vm_readv to avoid potential segfaults.
Jul 15 2022, 7:42 AM · Restricted Project, Restricted Project, Restricted Project
uweigand accepted D127328: [Systemz/z/OS] Introduce CCAssignToRegAndStack to calling convention.

Given Anton's comment, and since nobody else objected, I'm going to approve this. It is indeed a nice improvement for our backend. LGTM.

Jul 15 2022, 4:48 AM · Restricted Project, Restricted Project

Jul 14 2022

uweigand accepted D129687: [SystemZ][z/OS] Implement detection and handling for XPLink Leaf procedures..

LGTM, thanks!

Jul 14 2022, 5:12 AM · Restricted Project, Restricted Project

Jul 13 2022

uweigand accepted D129562: [SystemZ] Enable `-mtune=` option in clang..

LGTM, thanks!

Jul 13 2022, 2:07 AM · Restricted Project, Restricted Project

Jul 12 2022

uweigand added a comment to D129483: XFAIL external resources test cases on big-endian systems.

SystemZ mlir builder is now back to green. Of course, the underlying issue still needs to be fixed to we can remove the XFAIL again.

Jul 12 2022, 12:49 AM · Restricted Project, Restricted Project
uweigand added a comment to D129483: XFAIL external resources test cases on big-endian systems.

I've now committed both changes in separate commits. Thanks!

Jul 12 2022, 12:39 AM · Restricted Project, Restricted Project
uweigand committed rG3c4468e67f0d: [mlir] XFAIL IR/elements-attr-interface.mlir on SystemZ (authored by uweigand).
[mlir] XFAIL IR/elements-attr-interface.mlir on SystemZ
Jul 12 2022, 12:38 AM · Restricted Project, Restricted Project
uweigand committed rGde9a7260aca3: Read/write external resource alignment tag in little-endian (authored by uweigand).
Read/write external resource alignment tag in little-endian
Jul 12 2022, 12:37 AM · Restricted Project, Restricted Project
uweigand closed D129483: XFAIL external resources test cases on big-endian systems.
Jul 12 2022, 12:37 AM · Restricted Project, Restricted Project

Jul 11 2022

uweigand added a comment to D126446: [mlir] Allow for attaching external resources to .mlir files.

We have to fix the alignment tag for real, otherwise there will be failing assertions all over the place. With that fix in, there's still a failing test case - that one could indeed be XFAILed for now.

Jul 11 2022, 6:12 AM · Restricted Project, Restricted Project
uweigand requested review of D129483: XFAIL external resources test cases on big-endian systems.
Jul 11 2022, 6:10 AM · Restricted Project, Restricted Project

Jul 8 2022

uweigand added a comment to D126446: [mlir] Allow for attaching external resources to .mlir files.

This commit has broken the mlir builder on s390x-ibm-linux: https://lab.llvm.org/buildbot/#/builders/199/builds/6417

Jul 8 2022, 8:47 AM · Restricted Project, Restricted Project

Jun 30 2022

uweigand accepted D128910: [SystemZ] Add support for tune-cpu attribute.

LGTM, thanks!

Jun 30 2022, 7:58 AM · Restricted Project, Restricted Project

Jun 29 2022

uweigand closed D128819: Enable ccache for s390x builders.
Jun 29 2022, 10:56 AM · Restricted Project
uweigand committed rZORG343fe274e86e: Enable ccache for s390x builders (authored by uweigand).
Enable ccache for s390x builders
Jun 29 2022, 10:56 AM · Restricted Project
uweigand requested review of D128819: Enable ccache for s390x builders.
Jun 29 2022, 6:38 AM · Restricted Project

Jun 13 2022

uweigand added inline comments to D127645: [docs] Adding table of object file formats.
Jun 13 2022, 2:02 PM · Restricted Project, Restricted Project

Jun 12 2022

uweigand committed rG7095a1ff82b9: Fix endian conversion of sub-byte types (authored by uweigand).
Fix endian conversion of sub-byte types
Jun 12 2022, 7:09 AM · Restricted Project, Restricted Project
uweigand closed D125676: [mlir] Fix endian conversion of sub-byte types.
Jun 12 2022, 7:08 AM · Restricted Project, Restricted Project

Jun 10 2022

uweigand accepted D127498: [SystemZ/z/OS] Set DWARF version to 4 for z/OS..

LGTM

Jun 10 2022, 8:51 AM · Restricted Project, Restricted Project
uweigand added a comment to D125676: [mlir] Fix endian conversion of sub-byte types.

Does this also show with an i4 test case? (i1 is special in a few ways, so having other sub CHAR_BIT test case would be good)

Jun 10 2022, 8:49 AM · Restricted Project, Restricted Project
uweigand updated the diff for D125676: [mlir] Fix endian conversion of sub-byte types.

Add test case.

Jun 10 2022, 8:48 AM · Restricted Project, Restricted Project
uweigand updated subscribers of D127328: [Systemz/z/OS] Introduce CCAssignToRegAndStack to calling convention.

FYI @nemanjai

Jun 10 2022, 5:39 AM · Restricted Project, Restricted Project
uweigand updated subscribers of D127328: [Systemz/z/OS] Introduce CCAssignToRegAndStack to calling convention.

From a SystemZ perspective this looks good to me (and a clear readability enhancement). I'd still like to hear comments from other backend maintainers whether this common tablegen feature might be useful to them as well ...

Jun 10 2022, 5:37 AM · Restricted Project, Restricted Project
uweigand added a comment to D127254: [SelectionDAGISel] Chain any mayRaiseFPException instruction created from a strict FP node.

From a SystemZ perspective this looks good to me.

Jun 10 2022, 5:30 AM · Restricted Project, Restricted Project
uweigand added inline comments to D77804: [DAG] Enable ISD::SRL SimplifyMultipleUseDemandedBits handling inside SimplifyDemandedBits.
Jun 10 2022, 5:23 AM · Restricted Project, Restricted Project