Page MenuHomePhabricator
Feed Advanced Search

Today

jonpa committed rG0eddeeab29a1: [ValueTracking] Improve isKnownNonNaN() to recognize zero splats. (authored by jonpa).
[ValueTracking] Improve isKnownNonNaN() to recognize zero splats.
Wed, Feb 19, 9:42 AM
jonpa closed D74263: [ValueTracking] Improve isKnownNonNaN() to recognize zero splats..
Wed, Feb 19, 9:42 AM · Restricted Project
jonpa added inline comments to D74263: [ValueTracking] Improve isKnownNonNaN() to recognize zero splats..
Wed, Feb 19, 9:40 AM · Restricted Project

Sat, Feb 15

jonpa added a comment to D74506: [SystemZ] Support the kernel backchain.

It seems that compiling a vararg function with gcc -mpacked-stack and -msoft-float places the stored GPRs in the default slots. However, by adding also -backchain (in addition to the previous two args) the GPRs are saved right below the backchain, which is at offset 152 (topmost). This patch does currently not move up the GPRs in the case of saving the backchain, but. I am guessing it should (in order to have "constant and known distance from the backchain to the return address")? If so, I suppose the the front-end should emit a different offset for vararg reg arguments in case of packed-stack + soft-float. Could it be the same regardless of backchain, or?

Sat, Feb 15, 3:42 PM · Restricted Project

Thu, Feb 13

jonpa updated the diff for D74506: [SystemZ] Support the kernel backchain.

Allow packed-stack with varargs, placing the vararg arguments on the default slots in the reg save area.

Thu, Feb 13, 8:51 AM · Restricted Project

Wed, Feb 12

jonpa added a comment to D74506: [SystemZ] Support the kernel backchain.

allow packed-stack in most of the cases where it's currently forbidden (with varargs, if the frame address is taken, and with backchain) -- since packed-stack is then not just an optimization, but an ABI change

Wed, Feb 12, 1:47 PM · Restricted Project
jonpa created D74506: [SystemZ] Support the kernel backchain.
Wed, Feb 12, 1:37 PM · Restricted Project

Tue, Feb 11

jonpa committed rG509bac030a43: [SystemZ] Fix new test case for expensive checks. (authored by jonpa).
[SystemZ] Fix new test case for expensive checks.
Tue, Feb 11, 8:36 AM
jonpa added inline comments to D74352: [SystemZ] Bugfix in emitSelect().
Tue, Feb 11, 7:50 AM · Restricted Project
jonpa committed rG0311e28e9cc0: [SystemZ] Bugfix in emitSelect() (authored by jonpa).
[SystemZ] Bugfix in emitSelect()
Tue, Feb 11, 7:43 AM
jonpa closed D74352: [SystemZ] Bugfix in emitSelect().
Tue, Feb 11, 7:42 AM · Restricted Project
jonpa updated the diff for D74352: [SystemZ] Bugfix in emitSelect().

Do the check after checking for a select pseudo. Moved down also the check for CC-def, since a SelectPseudo does not define CC.

Tue, Feb 11, 7:23 AM · Restricted Project
jonpa added inline comments to D74352: [SystemZ] Bugfix in emitSelect().
Tue, Feb 11, 7:23 AM · Restricted Project

Mon, Feb 10

jonpa added a comment to D74352: [SystemZ] Bugfix in emitSelect().

BTW, this was an example where the backend messed up and left behind a pseudo MI (that uses custom insertion) after the FinalizeISel pass. This was a bit suprising to me as in my memory there was an assert for this that checked that all pseudos were gone after the loop over MF. Perhaps that would still be good to have..?

Mon, Feb 10, 12:27 PM · Restricted Project
jonpa created D74352: [SystemZ] Bugfix in emitSelect().
Mon, Feb 10, 12:18 PM · Restricted Project
jonpa committed rGfcdb99e0b5b4: [SystemZ] Add a subtarget cache like some other targets already have. (authored by jonpa).
[SystemZ] Add a subtarget cache like some other targets already have.
Mon, Feb 10, 10:13 AM
jonpa closed D74086: [SystemZ] Add a subtarget cache like some other targets already have..
Mon, Feb 10, 10:13 AM · Restricted Project

Fri, Feb 7

jonpa created D74263: [ValueTracking] Improve isKnownNonNaN() to recognize zero splats..
Fri, Feb 7, 4:05 PM · Restricted Project
jonpa added inline comments to D74086: [SystemZ] Add a subtarget cache like some other targets already have..
Fri, Feb 7, 2:35 PM · Restricted Project
jonpa updated the diff for D74086: [SystemZ] Add a subtarget cache like some other targets already have..

Patch updated.

Fri, Feb 7, 2:34 PM · Restricted Project

Wed, Feb 5

jonpa added inline comments to D73152: [PHIElimination] Compile time optimization for huge functions..
Wed, Feb 5, 3:20 PM · Restricted Project
jonpa committed rG96ea377ea4d6: [PHIElimination] Compile time optimization for huge functions. (authored by jonpa).
[PHIElimination] Compile time optimization for huge functions.
Wed, Feb 5, 3:13 PM
jonpa closed D73152: [PHIElimination] Compile time optimization for huge functions..
Wed, Feb 5, 3:13 PM · Restricted Project
jonpa committed rG4a3760d2ba30: [SystemZ] Improve handling of inline asm constraints. (authored by jonpa).
[SystemZ] Improve handling of inline asm constraints.
Wed, Feb 5, 2:07 PM
jonpa created D74086: [SystemZ] Add a subtarget cache like some other targets already have..
Wed, Feb 5, 1:40 PM · Restricted Project

Tue, Feb 4

jonpa added a comment to D72189: [SystemZ] Support -msoft-float.

Hello, this breaks tests on all platforms (e.g.: http://45.33.8.238/mac/7170/step_11.txt) Please revert immediately and please run tests locally before committing next time.

Tue, Feb 4, 8:13 AM · Restricted Project, Restricted Project
jonpa committed rGe943329ba007: [SystemZ] Add 'REQUIRES:' or '-mtriple' to some newly added tests. (authored by jonpa).
[SystemZ] Add 'REQUIRES:' or '-mtriple' to some newly added tests.
Tue, Feb 4, 8:04 AM
jonpa committed rG563e84790f41: [SystemZ] Support -msoft-float (authored by jonpa).
[SystemZ] Support -msoft-float
Tue, Feb 4, 7:37 AM
jonpa closed D72189: [SystemZ] Support -msoft-float.
Tue, Feb 4, 7:36 AM · Restricted Project, Restricted Project
jonpa added a comment to D73152: [PHIElimination] Compile time optimization for huge functions..

This patch is very convincing to me since I saw just last week dozens and dozens of huge csmith programs suffering from significant slow-downs where PHI elimination was a big part of it. PHI Elim can take more than a minute without this patch, while with this patch all of those test cases do not spend much time in PHIElim anymore.

Tue, Feb 4, 5:56 AM · Restricted Project

Mon, Feb 3

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

Patch updated per review to reset HasVector globally both in clang/lib/CodeGen/TargetInfo.cpp (constructor argument) and clang/lib/Basic/Targets/SystemZ.h (handleTargetFeatures()).

Mon, Feb 3, 3:04 PM · Restricted Project, Restricted Project

Fri, Jan 31

jonpa added inline comments to D72189: [SystemZ] Support -msoft-float.
Fri, Jan 31, 12:35 PM · Restricted Project, Restricted Project
jonpa updated the diff for D72189: [SystemZ] Support -msoft-float.

If soft-float, then we have *no* VectorABI!

Fri, Jan 31, 12:35 PM · Restricted Project, Restricted Project

Thu, Jan 30

jonpa added inline comments to D72189: [SystemZ] Support -msoft-float.
Thu, Jan 30, 1:30 PM · Restricted Project, Restricted Project
jonpa updated the diff for D72189: [SystemZ] Support -msoft-float.

Ah, I see. But note that you're now not supporting "use-soft-float" at all (which I think is fine at this step!), so you should update all tests to no longer use "use-soft-float".

Thu, Jan 30, 1:30 PM · Restricted Project, Restricted Project

Tue, Jan 28

jonpa added inline comments to D72189: [SystemZ] Support -msoft-float.
Tue, Jan 28, 10:11 AM · Restricted Project, Restricted Project
jonpa updated the diff for D72189: [SystemZ] Support -msoft-float.

Updated per review - see inline comments.

Tue, Jan 28, 10:02 AM · Restricted Project, Restricted Project

Mon, Jan 27

jonpa added a comment to D51028: [BranchFolder] Drop kill/dead flags if they aren't present in all merged instructions.

...
So in this case, an "undef" in the llc input could lead to a verifier error.

Mon, Jan 27, 11:34 AM · Restricted Project

Fri, Jan 24

jonpa added a comment to D51028: [BranchFolder] Drop kill/dead flags if they aren't present in all merged instructions.

I am a little curious as to how these differences in flags arise. I can understand that a kill flag can be seen as an optimization and is optional. The same would go for a dead flag. But I am not sure about an undef flag... If it is present in one case but not in the other, the two instructions do not seem equivalent, or?

Fri, Jan 24, 12:16 PM · Restricted Project

Wed, Jan 22

jonpa added inline comments to D73152: [PHIElimination] Compile time optimization for huge functions..
Wed, Jan 22, 1:09 PM · Restricted Project
jonpa updated the diff for D73152: [PHIElimination] Compile time optimization for huge functions..

Thanks for review!

Wed, Jan 22, 1:09 PM · Restricted Project

Tue, Jan 21

jonpa created D73152: [PHIElimination] Compile time optimization for huge functions..
Tue, Jan 21, 5:35 PM · Restricted Project

Jan 15 2020

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.

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

Jan 13 2020

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

Minor updated per review.

Jan 13 2020, 10:25 AM · Restricted Project

Jan 11 2020

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():

Jan 11 2020, 8:46 AM · Restricted Project

Jan 9 2020

jonpa retitled D67437: [SystemZ] Improve foldMemoryOperandImpl(). from [SystemZ] Swap compare operands in foldMemoryOperandImpl() if possible. to [SystemZ] Improve foldMemoryOperandImpl()..
Jan 9 2020, 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).

Jan 9 2020, 12:54 PM · Restricted Project

Jan 8 2020

jonpa committed rG659efa21f1b3: Recommit "[MachineVerifier] Improve verification of live-in lists." (authored by jonpa).
Recommit "[MachineVerifier] Improve verification of live-in lists."
Jan 8 2020, 5:02 PM
jonpa closed D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..
Jan 8 2020, 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

Jan 8 2020, 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.
Jan 8 2020, 4:42 PM
jonpa closed D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.
Jan 8 2020, 4:42 PM · Restricted Project

Jan 7 2020

jonpa added inline comments to D71375: [X86] Remove EFLAGS from live-in lists of successor MBBs in X86FlagsCopyLowering.
Jan 7 2020, 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.

Jan 7 2020, 3:51 PM · Restricted Project

Jan 5 2020

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.

Jan 5 2020, 11:30 AM · Restricted Project

Jan 4 2020

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

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

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

Jan 3 2020

jonpa created D72189: [SystemZ] Support -msoft-float.
Jan 3 2020, 3:48 PM · Restricted Project, 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.
Jan 3 2020, 12:32 PM

Jan 2 2020

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.
Jan 2 2020, 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