Page MenuHomePhabricator

jonpa (Jonas Paulsson)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 24 2015, 1:18 AM (217 w, 9 h)

Recent Activity

Yesterday

jonpa updated the diff for D60888: [SystemZ] Favor 3-address instructions during instruction selection..

Whitespace fixes.

Mon, Apr 22, 12:24 PM
jonpa added inline comments to D60888: [SystemZ] Favor 3-address instructions during instruction selection..
Mon, Apr 22, 12:18 PM
jonpa updated the diff for D60888: [SystemZ] Favor 3-address instructions during instruction selection..

Most points in review inocoorporated, except for the getRegAllocationHints() -- see inlined comment.

Mon, Apr 22, 12:13 PM

Fri, Apr 19

jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Don't build a new MI in selectAddSubMux(), but instead update the registers, MCInstrDesc and TiedTo flag. This avoids the need to update SlotIndexes. This is needed to not loose any extra ("regalloc") operands or instruction flags (such as "nsw") . Question: Are there any such flags that should be modified when commutation is performed on a sub and it becomes an add?

Fri, Apr 19, 6:46 PM

Thu, Apr 18

jonpa created D60888: [SystemZ] Favor 3-address instructions during instruction selection..
Thu, Apr 18, 1:50 PM

Fri, Apr 5

jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Thank you Quentin for the review! Patch updated per your suggestions. (I am not sure why LIS and VRM are optional parameters to foldMemoryOperandImpl(). It would have simplified my patch somewhat if they were not, but I instead added a check to see that VRM is available.)

Fri, Apr 5, 8:07 AM

Thu, Apr 4

jonpa closed D60255: [SystemZ] Bugfix in isFusableLoadOpStorePattern()..

r357688

Thu, Apr 4, 5:13 AM
jonpa committed rGc56ffed3043c: [SystemZ] Bugfix in isFusableLoadOpStorePattern() (authored by jonpa).
[SystemZ] Bugfix in isFusableLoadOpStorePattern()
Thu, Apr 4, 5:12 AM
jonpa committed rL357688: [SystemZ] Bugfix in isFusableLoadOpStorePattern().
[SystemZ] Bugfix in isFusableLoadOpStorePattern()
Thu, Apr 4, 5:11 AM
jonpa created D60255: [SystemZ] Bugfix in isFusableLoadOpStorePattern()..
Thu, Apr 4, 1:25 AM

Tue, Apr 2

jonpa committed rGf76fe454268d: [SystemZ] Improve instruction selection of 64 bit shifts and rotates. (authored by jonpa).
[SystemZ] Improve instruction selection of 64 bit shifts and rotates.
Tue, Apr 2, 8:35 AM
jonpa committed rL357481: [SystemZ] Improve instruction selection of 64 bit shifts and rotates..
[SystemZ] Improve instruction selection of 64 bit shifts and rotates.
Tue, Apr 2, 8:35 AM
jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Regalloc hints for llc/llh added as well, which handled two regressions.

Tue, Apr 2, 12:30 AM

Wed, Mar 27

jonpa closed D59822: [DAGCombiner] Don't allow addcarry if the type of the carry producer is illegal..

Thanks for review! Test case updated per suggestion.

Wed, Mar 27, 1:47 AM
jonpa committed rG38342a5185a1: [DAGCombiner] Don't allow addcarry if the carry producer is illegal. (authored by jonpa).
[DAGCombiner] Don't allow addcarry if the carry producer is illegal.
Wed, Mar 27, 1:41 AM
jonpa committed rL357052: [DAGCombiner] Don't allow addcarry if the carry producer is illegal..
[DAGCombiner] Don't allow addcarry if the carry producer is illegal.
Wed, Mar 27, 1:40 AM

Tue, Mar 26

jonpa committed rG8f8c38174ef3: [SystemZ] Remove LRMux pseudo instruction. (authored by jonpa).
[SystemZ] Remove LRMux pseudo instruction.
Tue, Mar 26, 8:13 AM
jonpa committed rL356997: [SystemZ] Remove LRMux pseudo instruction..
[SystemZ] Remove LRMux pseudo instruction.
Tue, Mar 26, 8:12 AM
jonpa created D59822: [DAGCombiner] Don't allow addcarry if the type of the carry producer is illegal..
Tue, Mar 26, 7:53 AM

Mon, Mar 25

jonpa committed rG0e75e21eb385: [RegAlloc] Simplify MIR test (authored by jonpa).
[RegAlloc] Simplify MIR test
Mon, Mar 25, 7:28 AM
jonpa committed rL356899: [RegAlloc] Simplify MIR test.
[RegAlloc] Simplify MIR test
Mon, Mar 25, 7:27 AM
jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Patch refined / improved.

Mon, Mar 25, 4:43 AM

Mar 19 2019

jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Patch is still experimental, but updated with the latest improvements.

Mar 19 2019, 5:54 AM

Mar 18 2019

jonpa updated subscribers of D59480: [NFC] Add SchedState to allow forwarding the Scheduling state between MBB.

I did something similar for the SystemZ PostRA scheduler. Is this patch taking that into consideration? I have not looked at this in detail, but it would be nice if the SystemZ implementation could use this or at least parts of it...

Mar 18 2019, 2:10 PM · Restricted Project

Mar 16 2019

jonpa added a reviewer for D59363: [SelectionDAG] Add icmp UNDEF handling to SelectionDAG::FoldSetCC: uweigand.

I think the SystemZ test changes look ok (by replacing the undef operands with an argument the tests are more or less unaffected by this patch), but as usual I will let Uli do the formal approval.

Mar 16 2019, 6:32 AM · Restricted Project

Mar 12 2019

jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Still INCOMPLETE! SPEC builds, but this patch is still experimental.

Mar 12 2019, 8:48 AM

Mar 11 2019

jonpa added inline comments to D59201: [RegAllocHints] Avoid compile time regression.
Mar 11 2019, 12:16 PM
jonpa closed D59201: [RegAllocHints] Avoid compile time regression.

r355854

Mar 11 2019, 12:04 PM
jonpa committed rG8b8dc50e79d4: [RegAlloc] Avoid compile time regression with multiple copy hints. (authored by jonpa).
[RegAlloc] Avoid compile time regression with multiple copy hints.
Mar 11 2019, 12:02 PM
jonpa committed rL355854: [RegAlloc] Avoid compile time regression with multiple copy hints..
[RegAlloc] Avoid compile time regression with multiple copy hints.
Mar 11 2019, 12:00 PM
jonpa added a comment to D59201: [RegAllocHints] Avoid compile time regression.
In D59201#1424934, @dim wrote:

Btw @jonpa, for me it's still interesting as to why the compiler hang only occurred for builds targeting i386 (i.e 32 bit x86), while x86_64 worked just fine. Is it due to the lower number of physical registers on i386?

Mar 11 2019, 11:41 AM

Mar 10 2019

jonpa created D59201: [RegAllocHints] Avoid compile time regression.
Mar 10 2019, 5:58 PM

Mar 4 2019

jonpa added a comment to D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

The patch as of now is a work in progress (experimental).

Mar 4 2019, 1:50 PM
jonpa created D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.
Mar 4 2019, 1:49 PM

Feb 26 2019

jonpa committed rG129826cd9fb5: [SystemZ] Pass regalloc hints to help Load-and-Test transformations. (authored by jonpa).
[SystemZ] Pass regalloc hints to help Load-and-Test transformations.
Feb 26 2019, 4:19 PM
jonpa committed rL354935: [SystemZ] Pass regalloc hints to help Load-and-Test transformations..
[SystemZ] Pass regalloc hints to help Load-and-Test transformations.
Feb 26 2019, 4:19 PM
jonpa abandoned D57926: [SystemZ] Wait with selection of VREPI and VGM until after DAGCombine2..

Replaced by https://reviews.llvm.org/D58270.

Feb 26 2019, 8:55 AM
jonpa abandoned D58142: [SystemZ] Accept more constant FP BuildVectors..

Replaced by https://reviews.llvm.org/D58270.

Feb 26 2019, 8:53 AM
jonpa closed D58270: [SystemZ] Load all vector and FP constants in Select() .

Thanks for help and review!

Feb 26 2019, 8:51 AM
jonpa committed rGc110b5b69f19: [SystemZ] Wait with selection of legal vector/FP constants until Select(). (authored by jonpa).
[SystemZ] Wait with selection of legal vector/FP constants until Select().
Feb 26 2019, 8:49 AM
jonpa committed rL354896: [SystemZ] Wait with selection of legal vector/FP constants until Select()..
[SystemZ] Wait with selection of legal vector/FP constants until Select().
Feb 26 2019, 8:48 AM

Feb 25 2019

jonpa updated the diff for D58270: [SystemZ] Load all vector and FP constants in Select() .

I don't think this will make much of a difference compile-time wise, so I'd prefer to go with the version where the code looks simpler ...

Feb 25 2019, 10:52 AM
jonpa added a comment to D58521: [DAGCombiner] allow truncation of binops after legalization if desirable.

I tried this patch on SystemZ / SPEC, and as before this seems to have a relatively very minor impact on the number of files changed (7), and on the performance (seemingly unaffected).

Feb 25 2019, 9:14 AM · Restricted Project
jonpa abandoned D58210: [SelectionDAGLegalize] Improve promotion of CTLZ.

Generally we should prefer to perform combines in DAGCombine in cases where it's straightforward.

Feb 25 2019, 8:59 AM

Feb 23 2019

jonpa added inline comments to D58270: [SystemZ] Load all vector and FP constants in Select() .
Feb 23 2019, 3:47 PM
jonpa updated the diff for D58270: [SystemZ] Load all vector and FP constants in Select() .

Patch updated per review, thanks.

Feb 23 2019, 3:47 PM

Feb 20 2019

jonpa added a comment to D54742: [CodeMetrics] Don't let extends of i1 be free..

PING!

Feb 20 2019, 6:35 PM
jonpa updated the diff for D58270: [SystemZ] Load all vector and FP constants in Select() .

Added handling for fp128 on z14, with some new tests that checks that this is working in fp-const-11.ll. NFC on spec on z14.

Feb 20 2019, 11:05 AM

Feb 15 2019

jonpa committed rGc0eef3542b3a: Recommit "[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support." (authored by jonpa).
Recommit "[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support."
Feb 15 2019, 11:14 AM
jonpa committed rL354160: Recommit "[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support.".
Recommit "[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support."
Feb 15 2019, 11:14 AM

Feb 14 2019

jonpa added a comment to D58142: [SystemZ] Accept more constant FP BuildVectors..

Tried this idea, see https://reviews.llvm.org/D58270

Feb 14 2019, 6:52 PM
jonpa created D58270: [SystemZ] Load all vector and FP constants in Select() .
Feb 14 2019, 6:51 PM
jonpa closed D58240: [SystemZ] Make sure VEXTEND and VROUND nodes are not emitted without vector support..

r354039.

Feb 14 2019, 10:02 AM
jonpa committed rGaa0b77d3395d: [SystemZ] Do not emit VEXTEND or VROUND nodes without vector support. (authored by jonpa).
[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support.
Feb 14 2019, 9:59 AM
jonpa committed rL354039: [SystemZ] Do not emit VEXTEND or VROUND nodes without vector support..
[SystemZ] Do not emit VEXTEND or VROUND nodes without vector support.
Feb 14 2019, 9:58 AM
jonpa created D58240: [SystemZ] Make sure VEXTEND and VROUND nodes are not emitted without vector support..
Feb 14 2019, 9:23 AM

Feb 13 2019

jonpa created D58210: [SelectionDAGLegalize] Improve promotion of CTLZ.
Feb 13 2019, 2:07 PM

Feb 12 2019

jonpa committed rG749dc51e452d: [SystemZ] Remember to cast value to void to disable warning. (authored by jonpa).
[SystemZ] Remember to cast value to void to disable warning.
Feb 12 2019, 3:14 PM
jonpa committed rL353898: [SystemZ] Remember to cast value to void to disable warning..
[SystemZ] Remember to cast value to void to disable warning.
Feb 12 2019, 3:14 PM
jonpa updated the diff for D57926: [SystemZ] Wait with selection of VREPI and VGM until after DAGCombine2..

Patch rebased.

Feb 12 2019, 2:55 PM
jonpa created D58142: [SystemZ] Accept more constant FP BuildVectors..
Feb 12 2019, 12:03 PM
jonpa closed D58003: [SystemZ] Use VGM whenever possible to load FP immediates.

Thanks for review. r353867.

Feb 12 2019, 10:11 AM
jonpa committed rG34bead750c25: [SystemZ] Use VGM whenever possible to load FP immediates. (authored by jonpa).
[SystemZ] Use VGM whenever possible to load FP immediates.
Feb 12 2019, 10:06 AM
jonpa committed rL353867: [SystemZ] Use VGM whenever possible to load FP immediates..
[SystemZ] Use VGM whenever possible to load FP immediates.
Feb 12 2019, 10:06 AM

Feb 11 2019

jonpa updated the diff for D58003: [SystemZ] Use VGM whenever possible to load FP immediates.

It seems you're assuming VGM is always available. I guess there needs to be a check for hasVector() somewhere.

Yes, fixed.

Feb 11 2019, 2:12 PM

Feb 10 2019

jonpa updated the diff for D58003: [SystemZ] Use VGM whenever possible to load FP immediates.

Patch was proven to be incorrect by an assertion failure.

Feb 10 2019, 3:27 PM

Feb 9 2019

jonpa added a comment to D57926: [SystemZ] Wait with selection of VREPI and VGM until after DAGCombine2..

I made a new post for just the handling of scalar FP immediates with VGM: https://reviews.llvm.org/D58003

Feb 9 2019, 9:40 AM
jonpa created D58003: [SystemZ] Use VGM whenever possible to load FP immediates.
Feb 9 2019, 9:37 AM

Feb 8 2019

jonpa updated the diff for D57926: [SystemZ] Wait with selection of VREPI and VGM until after DAGCombine2..

I think 1a would be the best option, indeed.

Feb 8 2019, 2:14 PM
jonpa added a comment to D57926: [SystemZ] Wait with selection of VREPI and VGM until after DAGCombine2..

Well, for replication we definitely need proper float support. For VGBM, we could ignore floats since (except for the all-zero and all-one pattern) there aren't really any common FP constants that can be created via a VGBM pattern. But that isn't true at all for replication ...

Ok

Feb 8 2019, 8:46 AM

Feb 7 2019

jonpa created D57926: [SystemZ] Wait with selection of VREPI and VGM until after DAGCombine2..
Feb 7 2019, 1:42 PM
jonpa abandoned D57717: [SystemZ] Return a higher cost for fdiv from getUserCost().

This didn't seem to do much good on any benchmarks, so abandoning.

Feb 7 2019, 9:28 AM

Feb 6 2019

jonpa closed D57710: [SystemZ] Improve handling of @llvm.ctlz intrinsic.

Thanks for review. r353330.

Feb 6 2019, 11:25 AM
jonpa committed rGb21dde053084: [SystemZ] Improved handling of the @llvm.ctlz intrinsic. (authored by jonpa).
[SystemZ] Improved handling of the @llvm.ctlz intrinsic.
Feb 6 2019, 11:24 AM
jonpa committed rL353330: [SystemZ] Improved handling of the @llvm.ctlz intrinsic..
[SystemZ] Improved handling of the @llvm.ctlz intrinsic.
Feb 6 2019, 11:23 AM
jonpa closed D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..

Thanks for review. r353325.

Feb 6 2019, 11:02 AM
jonpa committed rG8cda83a5db95: [SystemZ] Wait with VGBM selection until after DAGCombine2. (authored by jonpa).
[SystemZ] Wait with VGBM selection until after DAGCombine2.
Feb 6 2019, 11:00 AM
jonpa committed rL353325: [SystemZ] Wait with VGBM selection until after DAGCombine2..
[SystemZ] Wait with VGBM selection until after DAGCombine2.
Feb 6 2019, 10:59 AM

Feb 5 2019

jonpa updated the diff for D57710: [SystemZ] Improve handling of @llvm.ctlz intrinsic.

Removed cltz_zero_undef i64 since it is not needed.

Feb 5 2019, 4:20 PM
jonpa updated the diff for D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..

The support of VGBM for non-zero FP vectors has been removed, which greatly simplifies the patch. This is NFC on SPEC compared to previous version of patch, except for in one file where the floating point VGBM mask of 0xf0f0 is selected as VGMG insteadof VGBM (1 file, 8 places).

Feb 5 2019, 1:57 PM

Feb 4 2019

jonpa created D57717: [SystemZ] Return a higher cost for fdiv from getUserCost().
Feb 4 2019, 3:22 PM
jonpa created D57710: [SystemZ] Improve handling of @llvm.ctlz intrinsic.
Feb 4 2019, 1:44 PM

Feb 2 2019

jonpa added inline comments to D57629: [LoopIdiomRecognize] @llvm.dbg values shouldn't affect the transformation..
Feb 2 2019, 9:32 AM · Restricted Project

Jan 31 2019

jonpa updated the diff for D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..

Handle the FP case by building a v16i8 vector instead of using TargetFPConstants (or isFPImmLegal).

Jan 31 2019, 1:09 PM
jonpa added a comment to D54742: [CodeMetrics] Don't let extends of i1 be free..

Tests using '-cost-model -cost-kind=code-size' in the "direct" way requested in earlier review...

Jan 31 2019, 8:18 AM

Jan 29 2019

jonpa added a comment to D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..

If we actually can load the FP constant using an immediate vector instruction, shouldn't we then return true from TLI.isFPImmLegal? Maybe that's the real underlying problem ...

Jan 29 2019, 2:02 AM
jonpa closed D57050: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().

Thanks for review!
r352462

Jan 29 2019, 1:06 AM
jonpa committed rL352462: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().
[CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts()
Jan 29 2019, 1:03 AM

Jan 28 2019

jonpa updated the diff for D57050: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().

Test updated once again to use a bitcast in the IR also before CodeGenPrepare.

Jan 28 2019, 12:14 AM

Jan 25 2019

jonpa updated the diff for D57050: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().

I made a new reduced MIR test case from the original source file and this time included the IR as a comment. Hope that works.

Jan 25 2019, 9:25 AM
jonpa updated the diff for D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..

Patch updated per previous comment so that it returns all integer BVNs unmodified, and for FP a new BVN is build with TargetConstantFP operands, to avoid expansion into the constant pool.

Jan 25 2019, 8:39 AM
jonpa added a comment to D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..

Can you explain this further? If you leave the BUILD_VECTOR as-is, where is it pushed into the constant pool?

Jan 25 2019, 8:24 AM

Jan 24 2019

jonpa added a comment to D57050: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().

The test case looks much better now, thanks.

Usually we include a short set of instructions in the test case on how to produce the IR, including the source code, in case the IR needs to be re-generated in response to a format change etc.

Other than that, LGTM.

Jan 24 2019, 6:45 AM
jonpa created D57152: [SystemZ] Wait with VGBM selection until after DAGCombine2..
Jan 24 2019, 6:14 AM
jonpa added a comment to rL351939: [SystemZ] Fix test case for buildbot..
Jan 24 2019, 1:46 AM

Jan 23 2019

jonpa committed rL352030: [SystemZ] Remember to reset the NoPHIs property on MF in createPHIsForSelects().
[SystemZ] Remember to reset the NoPHIs property on MF in createPHIsForSelects()
Jan 23 2019, 11:55 PM
jonpa committed rL351939: [SystemZ] Fix test case for buildbot..
[SystemZ] Fix test case for buildbot.
Jan 23 2019, 2:29 AM
jonpa added inline comments to D57050: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().
Jan 23 2019, 12:57 AM
jonpa updated the diff for D57050: [CodeGenPrepare] Handle all debug calls in dupRetToEnableTailCallOpts().

Thanks for the patch. Could you please reduce the test case a bit further? There are kilobytes of debug info metadata > here which don't appear necessary for reproducing the problem.

To start, I suggest running opt -strip -metarenamer -debugify on the IR input. That should still reproduce the issue.

Ah, that's how you do it! :-)

Jan 23 2019, 12:57 AM

Jan 22 2019

jonpa closed D57048: [SystemZ] Handle DBG_VALUE instructions in two places in backend.

Thanks for review. r351928.

Jan 22 2019, 11:51 PM