Page MenuHomePhabricator

jonpa (Jonas Paulsson)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 24 2015, 1:18 AM (256 w, 6 h)

Recent Activity

Wed, Jan 15

jonpa updated the diff for D72189: [SystemZ] Support -msoft-float.

To implement the second part in clang/LLVM, I believe we need to

  • Have -msoft-float imply -mno-vx (either on the clang side, or the LLVM side, or both). This doesn't seem to be implemented in the patch yet.

-msoft-float now gives "-vector" in addition to "use-soft-float"="true"
In the subtarget, HasSoftFloat clears HasVector, so that "soft-float"="true" attribute implies "-vector" on the LLVM function.

Wed, Jan 15, 1:29 PM · Restricted Project

Mon, Jan 13

jonpa updated the diff for D67437: [SystemZ] Improve foldMemoryOperandImpl()..

Minor updated per review.

Mon, Jan 13, 10:25 AM · Restricted Project

Sat, Jan 11

jonpa updated the diff for D67437: [SystemZ] Improve foldMemoryOperandImpl()..

Patch updated per review (NFC). The new unused opcodes are gone, and the only superfluous mappings now added are in getMemOpcode():

Sat, Jan 11, 8:46 AM · Restricted Project

Thu, Jan 9

jonpa retitled D67437: [SystemZ] Improve foldMemoryOperandImpl(). from [SystemZ] Swap compare operands in foldMemoryOperandImpl() if possible. to [SystemZ] Improve foldMemoryOperandImpl()..
Thu, Jan 9, 1:04 PM · Restricted Project
jonpa updated the diff for D67437: [SystemZ] Improve foldMemoryOperandImpl()..

Patch extended to also fold reloads into conditional load operands (both LOCR and SELR).

Thu, Jan 9, 12:54 PM · Restricted Project

Wed, Jan 8

jonpa committed rG659efa21f1b3: Recommit "[MachineVerifier] Improve verification of live-in lists." (authored by jonpa).
Recommit "[MachineVerifier] Improve verification of live-in lists."
Wed, Jan 8, 5:02 PM
jonpa closed D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..
Wed, Jan 8, 5:01 PM · Restricted Project
jonpa added a comment to D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..

The X86 issue now fixed by ee57469

Wed, Jan 8, 5:01 PM · Restricted Project
jonpa committed rGee57469a5128: [X86] Remove EFLAGS from live-in lists in X86FlagsCopyLowering. (authored by jonpa).
[X86] Remove EFLAGS from live-in lists in X86FlagsCopyLowering.
Wed, Jan 8, 4:42 PM
jonpa closed D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.
Wed, Jan 8, 4:42 PM · Restricted Project

Tue, Jan 7

jonpa added inline comments to D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.
Tue, Jan 7, 3:53 PM · Restricted Project
jonpa updated the diff for D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.

Patch updated -- see inline comment for discussion.

Tue, Jan 7, 3:51 PM · Restricted Project

Sun, Jan 5

jonpa updated the diff for D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..

Since I have done everything I can to remedy this issue in the X86 backend since this was reverted two months ago, I would like to suggest recommitting this patch now with the one failing test function moved out into a new XFAIL:ing test file.

Sun, Jan 5, 11:30 AM · Restricted Project

Sat, Jan 4

jonpa updated the diff for D72189: [SystemZ] Support -msoft-float.

Don't save fp-regs with varargs + soft-float

Sat, Jan 4, 12:06 PM · Restricted Project

Fri, Jan 3

jonpa created D72189: [SystemZ] Support -msoft-float.
Fri, Jan 3, 3:48 PM · Restricted Project
jonpa committed rGc0f1eac008e6: [SystemZ] Don't allow CL option -mpacked-stack with -mbackchain. (authored by jonpa).
[SystemZ] Don't allow CL option -mpacked-stack with -mbackchain.
Fri, Jan 3, 12:32 PM

Thu, Jan 2

jonpa committed rG982695c0693f: [SystemZ] Create brcl 0,0 instead of brcl 0,3 in EmitNop for 6 bytes. (authored by jonpa).
[SystemZ] Create brcl 0,0 instead of brcl 0,3 in EmitNop for 6 bytes.
Thu, Jan 2, 1:27 PM

Dec 20 2019

jonpa added a comment to D71627: [Clang FE, SystemZ] Recognize -mrecord-mcount CL option..

This is regressing linux kernel builds for multiple architectures. The linux kernel uses feature detection for compiler flags, basically invoking:

$ clang -mrecord-mcount -target aarch64-linux-gnu -c -x c /dev/null

Because the target info isn't validated until code gen, the above returns 0, which seems like the flag is supported, so it is used for further compilations which then do fail.

Dec 20 2019, 11:11 AM
jonpa committed rG9fcebad5e5c1: [SystemZ] Add a mapping from "select register" to "load on condition" (2-addr). (authored by jonpa).
[SystemZ] Add a mapping from "select register" to "load on condition" (2-addr).
Dec 20 2019, 10:51 AM
jonpa closed D68870: [SystemZ] Add a mapping from "select register" to "load on condition" (2-addr)..

Thanks for review!

Dec 20 2019, 10:51 AM · Restricted Project
jonpa committed rG3174683e21cc: [SystemZ] Bugfix and improve the handling of CC values. (authored by jonpa).
[SystemZ] Bugfix and improve the handling of CC values.
Dec 20 2019, 10:29 AM
jonpa closed D66868: [SystemZ] Fix handling of CC values.

Thanks for review!

Dec 20 2019, 10:29 AM · Restricted Project

Dec 19 2019

jonpa closed D71629: [SystemZ] Recognize mrecord-mcount in backend.

6be1578

Dec 19 2019, 9:23 AM · Restricted Project
jonpa committed rG6be15788951b: [SystemZ] Recognize mrecord-mcount in backend (authored by jonpa).
[SystemZ] Recognize mrecord-mcount in backend
Dec 19 2019, 9:13 AM
jonpa closed D71627: [Clang FE, SystemZ] Recognize -mrecord-mcount CL option..

2520bef

Dec 19 2019, 9:02 AM
jonpa committed rG2520bef86532: [Clang FE, SystemZ] Recognize -mrecord-mcount CL option. (authored by jonpa).
[Clang FE, SystemZ] Recognize -mrecord-mcount CL option.
Dec 19 2019, 8:54 AM

Dec 18 2019

jonpa updated the diff for D71627: [Clang FE, SystemZ] Recognize -mrecord-mcount CL option..

Probably better to only have one hard-coded space character in mrecord-mcount.c CHECK line.

Dec 18 2019, 1:41 PM
jonpa updated the diff for D71629: [SystemZ] Recognize mrecord-mcount in backend.

Updated per review: EmitLabel after PopSection.

Dec 18 2019, 1:22 PM · Restricted Project
jonpa committed rGca520592c081: [Clang FE, SystemZ] Don't add "true" value for the "mnop-mcount" attribute. (authored by jonpa).
[Clang FE, SystemZ] Don't add "true" value for the "mnop-mcount" attribute.
Dec 18 2019, 11:16 AM
jonpa closed D71669: [Clang FE, SystemZ] Don't add "true" value for the "mnop-mcount" attribute..

ca52059

Dec 18 2019, 11:16 AM · Restricted Project
jonpa created D71669: [Clang FE, SystemZ] Don't add "true" value for the "mnop-mcount" attribute..
Dec 18 2019, 10:38 AM · Restricted Project
jonpa added inline comments to D71629: [SystemZ] Recognize mrecord-mcount in backend.
Dec 18 2019, 10:00 AM · Restricted Project
jonpa updated the diff for D71629: [SystemZ] Recognize mrecord-mcount in backend.

Patch updated per review.

Dec 18 2019, 10:00 AM · Restricted Project

Dec 17 2019

jonpa updated the diff for D71629: [SystemZ] Recognize mrecord-mcount in backend.

Patch updated to call EmitLabel, SwitchSection() and EmitIntValue() instead of emitting raw text.

Dec 17 2019, 8:48 PM · Restricted Project
jonpa added a comment to D71629: [SystemZ] Recognize mrecord-mcount in backend.

This is done using just raw text like gcc does it (see gcc@06477d3). Is this acceptable?

Well, that doesn't really work, since it means the -mrecord-mcount is then simply ignored when using the built-in assembler (i.e. compiling to object code instead of assembler source).

Dec 17 2019, 8:29 PM · Restricted Project
jonpa created D71629: [SystemZ] Recognize mrecord-mcount in backend.
Dec 17 2019, 2:06 PM · Restricted Project
jonpa created D71627: [Clang FE, SystemZ] Recognize -mrecord-mcount CL option..
Dec 17 2019, 1:56 PM
jonpa closed D71441: [Clang FE, SystemZ] Recognize -mpacked-stack CL option.

599d1cc

Dec 17 2019, 11:36 AM
jonpa committed rG599d1cc07a51: [Clang FE, SystemZ] Recognize -mpacked-stack CL option (authored by jonpa).
[Clang FE, SystemZ] Recognize -mpacked-stack CL option
Dec 17 2019, 11:30 AM
jonpa updated the diff for D68870: [SystemZ] Add a mapping from "select register" to "load on condition" (2-addr)..

Patch rebased, no manual changes needed...

Dec 17 2019, 10:34 AM · Restricted Project
jonpa updated the diff for D66868: [SystemZ] Fix handling of CC values.

Patch rebased, no manual changes needed...

Dec 17 2019, 10:24 AM · Restricted Project
jonpa updated the diff for D71441: [Clang FE, SystemZ] Recognize -mpacked-stack CL option.

Removed the "true" value when adding the function attribute, which seems to do what we want.

Dec 17 2019, 10:05 AM
jonpa abandoned D71560: [SystemZ] Improve handling of "packed-stack" function attribute..

It seems that the "backchain" attribute does not have to be checked this way, since it is simply present or non-present. Would this be preferrable perhaps also for "packed-stack" (instead of this patch)?

Ah yes, I think that would be the best solution. Thanks!

Dec 17 2019, 10:05 AM · Restricted Project
jonpa requested review of D71441: [Clang FE, SystemZ] Recognize -mpacked-stack CL option.
Dec 17 2019, 10:05 AM
jonpa added a comment to D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.

ping!

Dec 17 2019, 8:57 AM · Restricted Project

Dec 16 2019

jonpa created D71560: [SystemZ] Improve handling of "packed-stack" function attribute..
Dec 16 2019, 11:40 AM · Restricted Project
jonpa added a comment to D71441: [Clang FE, SystemZ] Recognize -mpacked-stack CL option.

The diag::err_opt_not_valid_on_target message is emitted from CodeGenFunction::StartFunction -- does that mean if you use -mpacked-stack on a non-SystemZ target when compiling a file with many functions, you get this error message many times? If so, this should probably be moved somewhere else. (It looks like the existing check for -mnop-mcount may already have the same problem.

Dec 16 2019, 10:34 AM
jonpa closed D71494: [SystemZ] Improve verification of MachineOperands..

49f55dd

Dec 16 2019, 9:58 AM · Restricted Project
jonpa committed rG49f55dda011b: [SystemZ] Improve verification of MachineOperands. (authored by jonpa).
[SystemZ] Improve verification of MachineOperands.
Dec 16 2019, 9:57 AM

Dec 13 2019

jonpa created D71494: [SystemZ] Improve verification of MachineOperands..
Dec 13 2019, 2:59 PM · Restricted Project

Dec 12 2019

jonpa created D71441: [Clang FE, SystemZ] Recognize -mpacked-stack CL option.
Dec 12 2019, 4:16 PM
jonpa committed rG61f5ba5c32fa: [SystemZ] Implement the packed stack layout (authored by jonpa).
[SystemZ] Implement the packed stack layout
Dec 12 2019, 10:33 AM
jonpa closed D70821: [SystemZ] Implement the packed stack layout.

Thanks for review!

Dec 12 2019, 10:32 AM · Restricted Project

Dec 11 2019

jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

getOrCreateFramePointerSaveIndex() call moved to processFunctionBeforeFrameFinalized() per suggestion.

Dec 11 2019, 2:58 PM · Restricted Project
jonpa added a comment to D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..

Patch proposed at https://reviews.llvm.org/D71375

Dec 11 2019, 2:47 PM · Restricted Project
jonpa created D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.
Dec 11 2019, 1:14 PM · Restricted Project
jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

Varargs part of argument handling in assignCalleeSavedSpillSlots() moved into the !usePackedStack section.

Dec 11 2019, 8:21 AM · Restricted Project

Dec 10 2019

jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

Updated per review.

Dec 10 2019, 3:14 PM · Restricted Project
jonpa added inline comments to D70821: [SystemZ] Implement the packed stack layout.
Dec 10 2019, 3:14 PM · Restricted Project
jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

Updated per review. See inline comments...

Dec 10 2019, 10:55 AM · Restricted Project
jonpa added inline comments to D70821: [SystemZ] Implement the packed stack layout.
Dec 10 2019, 10:55 AM · Restricted Project

Dec 7 2019

jonpa added a comment to D70821: [SystemZ] Implement the packed stack layout.

This changes a few test cases, since e.g. F8 is now saved on a fixed stack slot instead of a non-fixed one as was done previously.

I'm not quite sure why this should be the case: F8 should in fact still be saved in the same location (even though LLVM now considers it a fixed slot, it'll still end up at the same location, right?).

That's because now that they are fixed they don't get considered for HasStackObject, and even though the offset for F8 is the same from CFA, since the outgoing reg save area is in these cases not allocated, the final SP offset will be 160 less.

Dec 7 2019, 2:00 PM · Restricted Project
jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

Patch updated.

Dec 7 2019, 1:50 PM · Restricted Project
jonpa added inline comments to D70821: [SystemZ] Implement the packed stack layout.
Dec 7 2019, 10:38 AM · Restricted Project
jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

Patch updated per review.

Dec 7 2019, 10:37 AM · Restricted Project

Dec 6 2019

jonpa added a comment to D70821: [SystemZ] Implement the packed stack layout.

processFunctionBeforeFrameFinalized() should now be correct but it is not giving the exact same results on SPEC.

I believe the original processFunctionBeforeFrameFinalized computation was correct:

// Get the size of our stack frame to be allocated ...
uint64_t StackSize = (MFFrame.estimateStackSize(MF) +
                      SystemZMC::CallFrameSize);

At this point, estimateStackSize is supposed to return the size of the objects allocated in the local area, excluding both incoming and outgoing register save areas. We add back the size of the outgoing register save area (which we are certain to need in all nontrivial cases).

MFFrame.estimateStackSize(MF) adds 56 to the stack size based on the -56 offset for %R13. This shouldn't be done, since CallFrameSize is added later...

This should not have happened in the old code because the 56 was within the "LocalAreaOffset" and therefore did not count. It is true that with the new logic this will have to change now ...

// ... and the maximum offset we may need to reach into the
 // caller's frame to access the save area or stack arguments.
 int64_t MaxArgOffset = SystemZMC::CallFrameSize;
 for (int I = MFFrame.getObjectIndexBegin(); I != 0; ++I)
   if (MFFrame.getObjectOffset(I) >= 0) {
     int64_t ArgOffset = SystemZMC::CallFrameSize +
                         MFFrame.getObjectOffset(I) +
                         MFFrame.getObjectSize(I);
     MaxArgOffset = std::max(MaxArgOffset, ArgOffset);
   }

Given the above, we know current SP + StackSize suffices to reach the bottom of the incoming register save area. MaxArgOffset is now supposed to cover everything we may need to reach beyond that. This includes everything within the incoming register save are (as we might need to restore from there), and all the incoming arguments.

Now, the difference with the new logic is that estimateStackSize will include the incoming register save area already (all of it in the default case, the parts that are used in the -mpacked-stack case). Therefore, we need to change the computation of MaxArgOffset, exactly as your patch already does. Everything else should be the same.

Therefore, I'm not sure why you're seeing any difference in results -- it should be exactly the same.

Dec 6 2019, 9:35 AM · Restricted Project

Dec 5 2019

jonpa abandoned D70852: [InstCombine] Guard maxnum/minnum conversions with a TTI query.
Dec 5 2019, 5:20 PM · Restricted Project

Dec 3 2019

jonpa added a comment to D63973: [MachineVerifier] Improve checks of target instructions operands..

The compile time did not increase by running the machine verifier in one of the runs in the SPARC test case, so I added this with 7b63e27, to hopefully get the bots green.

Dec 3 2019, 2:29 AM · Restricted Project
jonpa committed rG7b63e27cc0a9: Temporarily run machine-verifier once in test/CodeGen/SPARC/fp128.ll, so that… (authored by jonpa).
Temporarily run machine-verifier once in test/CodeGen/SPARC/fp128.ll, so that…
Dec 3 2019, 2:23 AM
jonpa committed rGf8c0cfc24eab: ImplicitNullChecks: Don't add a dead definition of DepMI as live-in (authored by jonpa).
ImplicitNullChecks: Don't add a dead definition of DepMI as live-in
Dec 3 2019, 2:05 AM
jonpa closed D70434: ImplicitNullChecks: Don't add a dead definition of DepMI as live-in.

Thanks for revew - committed as f8c0cfc

Dec 3 2019, 2:05 AM · Restricted Project
jonpa added a comment to D63973: [MachineVerifier] Improve checks of target instructions operands..

It looks like the build bots didn't like this after all - the SPARC XFAIL doesn't fail without the expensive checks, but it is now marked XFAIL to pass with expensive checks enabled...

Dec 3 2019, 1:55 AM · Restricted Project
jonpa closed D63973: [MachineVerifier] Improve checks of target instructions operands..

Thanks for review! Committed as 4fd8f11.

Dec 3 2019, 1:37 AM · Restricted Project
jonpa committed rG4fd8f11901b5: [MachineVerifier] Improve checks of target instructions operands. (authored by jonpa).
[MachineVerifier] Improve checks of target instructions operands.
Dec 3 2019, 1:32 AM
jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.

This version of the patch is the experiment of setting the Local Area Offset to 0, and then creating fixed stack objects to represent the incoming register save area. This means that we are pretending that incoming SP and CFA are the same, and debug dumps show [SP - ...] where SP really is CFA. In order to make this work, the offset between the incoming SP and the CFA now has to be added in SystemZFrameLowering::getFrameIndexReference() instead. I am not sure if this is simpler or not compared to the previous version...

Dec 3 2019, 12:17 AM · Restricted Project

Nov 29 2019

jonpa created D70852: [InstCombine] Guard maxnum/minnum conversions with a TTI query.
Nov 29 2019, 5:54 AM · Restricted Project
jonpa added a comment to D70821: [SystemZ] Implement the packed stack layout.
I don't think this approach will really do everything -mpacked-stack is supposed to do. Fundamentally, with the packed stack layout, only some N (< 160) bytes of the incoming register save area are reserved for register save slots, instead of all 160 bytes. Everything below "(incoming SP) + 160 - N" is supposed to be freely usable for any use, including FPR/VR save slots and outgoing function args / register save area, but also just local stack variables and reload spill slots in general.

I think it does achieve that... The local area offset is not changed, but my intention is to instead move up all the slots in the local area with the amount that was packed:

Hmm, I missed that. That would probably indeed work, but it does appear confusing to have the frame object offsets not really match what's being emitted in the end ...

Yes, I agree...

Nov 29 2019, 3:54 AM · Restricted Project
jonpa added a comment to D70821: [SystemZ] Implement the packed stack layout.

Forgot: Patch was updated with a bugfix so that the RegSaveAreaUsage is set in the constructor already, so that this is always done.

Nov 29 2019, 2:43 AM · Restricted Project
jonpa updated the diff for D70821: [SystemZ] Implement the packed stack layout.
I don't think this approach will really do everything -mpacked-stack is supposed to do. Fundamentally, with the packed stack layout, only some N (< 160) bytes of the incoming register save area are reserved for register save slots, instead of all 160 bytes. Everything below "(incoming SP) + 160 - N" is supposed to be freely usable for any use, including FPR/VR save slots and outgoing function args / register save area, but also just local stack variables and reload spill slots in general.
Nov 29 2019, 2:43 AM · Restricted Project

Nov 28 2019

jonpa created D70821: [SystemZ] Implement the packed stack layout.
Nov 28 2019, 6:45 AM · Restricted Project

Nov 26 2019

jonpa updated the diff for D63973: [MachineVerifier] Improve checks of target instructions operands..

Added link to Bugzilla in the SPARC XFAIL:ing test case.

Nov 26 2019, 4:51 AM · Restricted Project
jonpa added inline comments to D63973: [MachineVerifier] Improve checks of target instructions operands..
Nov 26 2019, 4:51 AM · Restricted Project
jonpa added a comment to D70228: [LoopDataPrefetch + SystemZ] Let target decide on prefetching on a per loop basis.

ping!

Nov 26 2019, 4:42 AM · Restricted Project
jonpa added a comment to D70434: ImplicitNullChecks: Don't add a dead definition of DepMI as live-in.

ping!

Nov 26 2019, 4:33 AM · Restricted Project
jonpa added a comment to D63973: [MachineVerifier] Improve checks of target instructions operands..

I agree... Let's hope one of the reviewers accept it (unless you want to do it..?).

Nov 26 2019, 4:24 AM · Restricted Project
jonpa updated the diff for D63973: [MachineVerifier] Improve checks of target instructions operands..

Fixed the Hexagon failures in 824b25fc02dc4544adae55e6451d355f4c6d7055.

Nov 26 2019, 3:03 AM · Restricted Project
jonpa committed rG3ec193fb527e: [SystemZ] Don't build a PPA instruction with an immediate 0 operand. (authored by jonpa).
[SystemZ] Don't build a PPA instruction with an immediate 0 operand.
Nov 26 2019, 2:25 AM
jonpa closed D70501: [SystemZ] Don't build a PPA instruction with an immediate 0.

3ec193f

Nov 26 2019, 2:25 AM · Restricted Project
jonpa updated the diff for D70501: [SystemZ] Don't build a PPA instruction with an immediate 0.

SystemZInstPrinter::printOperand() prints '0' for NoRegister generally instead of the PPA special handling.

Nov 26 2019, 1:47 AM · Restricted Project

Nov 25 2019

jonpa closed D70427: [SystemZ] The Local Area Offset in SystemZFrameLowering..

Committed as a7d3f69.

Nov 25 2019, 10:16 AM · Restricted Project
jonpa committed rGa7d3f6933ddb: [SystemZ] Return the right offsets from getCalleeSavedSpillSlots(). (authored by jonpa).
[SystemZ] Return the right offsets from getCalleeSavedSpillSlots().
Nov 25 2019, 10:07 AM
jonpa updated the diff for D70427: [SystemZ] The Local Area Offset in SystemZFrameLowering..

Applied your patch, which is NFC on SPEC. Fixed your comment above SpillOffsetTable slightly to "..., relative to the CFA (i.e. incoming stack pointer + SystemZMC::CallFrameSize)".

Nov 25 2019, 9:32 AM · Restricted Project
jonpa added a comment to D70501: [SystemZ] Don't build a PPA instruction with an immediate 0.

This builds a register operand with NoReg, which then makes the IR correct while it is also necessary to handle this in the AsmPrinter since otherwise the call to get the register name will fail.

Can't we handle NoRegister generically in the AsmPrinter somewhere without tying that to the specific PPA opcode? Maybe we'll want to use it elsewhere as well ...

Nov 25 2019, 4:32 AM · Restricted Project
jonpa updated the diff for D70501: [SystemZ] Don't build a PPA instruction with an immediate 0.

I see there's a special node "zero_reg" -- does this work?

Ah yes, that must be what I was looking for :-)

Nov 25 2019, 4:05 AM · Restricted Project

Nov 21 2019

jonpa added a comment to D70427: [SystemZ] The Local Area Offset in SystemZFrameLowering..

F0D, F2D, F4D, F6D are used for passing floating-point arguments and must be saved into those specific slots in a function that uses variable argument lists, since the va_list holds a pointer to the start of the register save area, and va_arg assumes the first four floating-point arguments are stored at those particular offsets relative to that pointer. If you use AllRegs, they'll also be saved there, which isn't really required, but doesn't hurt either. Any other register, whether the normal call-saved register, or the other call-clobbered ones when using AllRegs, do not have assigned slots and will be saved in some arbitrary place on the stack allocated during register allocation.

Nov 21 2019, 2:10 AM · Restricted Project
jonpa added a comment to D70501: [SystemZ] Don't build a PPA instruction with an immediate 0.

I thought the 0 here was supposed to the the "magic" NoRegister register number. This is what is supposed to be used in a register slot if there's no register actually present, e.g. if an instruction has base+index address but we're not using an index in this instance.

Can you check why this isn't working as I thought?

Nov 21 2019, 1:18 AM · Restricted Project

Nov 20 2019

jonpa updated the diff for D63973: [MachineVerifier] Improve checks of target instructions operands..

XFAIL of AArch64 removed since it was fixed - thank you!

Nov 20 2019, 11:28 AM · Restricted Project
jonpa created D70501: [SystemZ] Don't build a PPA instruction with an immediate 0.
Nov 20 2019, 11:01 AM · Restricted Project
jonpa updated the diff for D70427: [SystemZ] The Local Area Offset in SystemZFrameLowering..

Thank you very much for the explanation - it does make more sense now :-)

Nov 20 2019, 2:18 AM · Restricted Project

Nov 19 2019

jonpa added a comment to D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..

I have suggested a patch for one of the failures: https://reviews.llvm.org/D70434

Nov 19 2019, 4:51 AM · Restricted Project