Page MenuHomePhabricator

jonpa (Jonas Paulsson)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 24 2015, 1:18 AM (241 w, 6 d)

Recent Activity

Sat, Oct 12

jonpa updated the diff for D68870: [SystemZ] Add a mapping from "select register" to "load on condition" (2-addr)..

Patch updated (SystemZInstrFormats.td).

Sat, Oct 12, 1:50 AM
jonpa added inline comments to D68870: [SystemZ] Add a mapping from "select register" to "load on condition" (2-addr)..
Sat, Oct 12, 1:50 AM

Fri, Oct 11

jonpa created D68870: [SystemZ] Add a mapping from "select register" to "load on condition" (2-addr)..
Fri, Oct 11, 8:04 AM
jonpa committed rL374550: github commit access for jonpa.
github commit access for jonpa
Fri, Oct 11, 6:42 AM

Tue, Oct 8

jonpa added a comment to D68395: [LoopDataPrefetch] Update an existing prefetch to same address to 'write' for a store.

ping

Tue, Oct 8, 2:00 AM
jonpa added a comment to D68280: [LoopDataPrefetch] Move prefetch to dominating position of two accesses.

ping

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

ping!

Tue, Oct 8, 2:00 AM
jonpa added a comment to D67763: [Clang FE] Recognize -mnop-mcount CL option.

ping!

Tue, Oct 8, 2:00 AM
jonpa added a comment to D63973: [MachineVerifier] Improve checks of target instructions operands..

ping!

Tue, Oct 8, 1:54 AM

Thu, Oct 3

jonpa created D68395: [LoopDataPrefetch] Update an existing prefetch to same address to 'write' for a store.
Thu, Oct 3, 7:32 AM
jonpa added a comment to D68281: [LoopDataPrefetch] Don't prefetch past a known total trip count.

Filed a bugreport for ScalarEvolution relating to this as this is an issue also without this particular patch: https://bugs.llvm.org/show_bug.cgi?id=43545

Thu, Oct 3, 4:02 AM
jonpa added a comment to D68281: [LoopDataPrefetch] Don't prefetch past a known total trip count.

I noticed that the output of Loop Strength Reduce differs with this simple patch, and the diff includes actual instructions and opcodes, and this is when LoopDataPrefetch does not emit any prefetches.

Thu, Oct 3, 2:28 AM

Tue, Oct 1

jonpa created D68281: [LoopDataPrefetch] Don't prefetch past a known total trip count.
Tue, Oct 1, 9:39 AM
jonpa created D68280: [LoopDataPrefetch] Move prefetch to dominating position of two accesses.
Tue, Oct 1, 9:34 AM
jonpa created D68267: [MBB LiveIn lists, MachineVerifier, SystemZ] New method isLiveOut() and mverifier improvement..
Tue, Oct 1, 5:57 AM

Mon, Sep 30

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

ping! Please fix test cases that have been found broken (on trunk without this patch!).

Mon, Sep 30, 12:42 AM
jonpa updated subscribers of D67763: [Clang FE] Recognize -mnop-mcount CL option.
Mon, Sep 30, 12:40 AM
jonpa committed rGe794c049b3e2: [SystemZ] Add SystemZPostRewrite in addPostRegAlloc() instead at -O0. (authored by jonpa).
[SystemZ] Add SystemZPostRewrite in addPostRegAlloc() instead at -O0.
Mon, Sep 30, 12:31 AM
jonpa committed rL373182: [SystemZ] Add SystemZPostRewrite in addPostRegAlloc() instead at -O0..
[SystemZ] Add SystemZPostRewrite in addPostRegAlloc() instead at -O0.
Mon, Sep 30, 12:31 AM

Thu, Sep 26

jonpa added reviewers for D67763: [Clang FE] Recognize -mnop-mcount CL option: manojgupta, niravd.
Thu, Sep 26, 2:07 AM
jonpa added inline comments to D67763: [Clang FE] Recognize -mnop-mcount CL option.
Thu, Sep 26, 2:01 AM
jonpa updated the diff for D67763: [Clang FE] Recognize -mnop-mcount CL option.

Use a new diag::err_opt_not_valid_without_opt value instead of "..._with_opt"

Thu, Sep 26, 2:01 AM
jonpa committed rG6e504d770653: [SystemZ] Recognize mnop-mcount in backend (authored by jonpa).
[SystemZ] Recognize mnop-mcount in backend
Thu, Sep 26, 1:41 AM
jonpa committed rL372950: [SystemZ] Recognize mnop-mcount in backend.
[SystemZ] Recognize mnop-mcount in backend
Thu, Sep 26, 1:41 AM
jonpa closed D67765: [SystemZ] Recognize mnop-mcount in backend.

Thanks for review - r372950.

Thu, Sep 26, 1:41 AM

Wed, Sep 25

jonpa committed rGc5d90e4b5cf8: [SystemZ] Improve emitSelect() (authored by jonpa).
[SystemZ] Improve emitSelect()
Wed, Sep 25, 7:02 AM
jonpa committed rL372873: [SystemZ] Improve emitSelect().
[SystemZ] Improve emitSelect()
Wed, Sep 25, 7:01 AM
jonpa closed D67619: [SystemZ] Improve emitSelect().

Thanks for review!
r372873

Wed, Sep 25, 7:01 AM
jonpa updated the diff for D67765: [SystemZ] Recognize mnop-mcount in backend.

The backend check for fentry could perhaps be performed in MachineFunction::init() somehow, but doing it fairly early in SystemZDAGToDAG::runOnMachineFunction() seems reasonable, or (we don't have any pre-isel passes that are always run)?

Wed, Sep 25, 6:35 AM
jonpa updated the diff for D67763: [Clang FE] Recognize -mnop-mcount CL option.

Check that -mnop-mcount is only passed for systemz, and check as well that -fentry was passed.

Wed, Sep 25, 6:29 AM
jonpa updated the diff for D67619: [SystemZ] Improve emitSelect().

Thanks for review - patch updated.

Wed, Sep 25, 3:19 AM
jonpa added inline comments to D67619: [SystemZ] Improve emitSelect().
Wed, Sep 25, 3:19 AM

Tue, Sep 24

jonpa updated the diff for D67619: [SystemZ] Improve emitSelect().

Put 'NextMIIt->getOperand(3).getImm() == CCValid' in an assert instead since this must be true.

Tue, Sep 24, 1:59 AM

Mon, Sep 23

jonpa updated the diff for D67437: [SystemZ] Swap compare operands in foldMemoryOperandImpl() if possible..

Also recognize CLR and CLGR instructions which also can be commuted in order to fold the spilled operand. Compare logical register sets CC the same way as signed comparisons, so the trySwapCompareOperands() should work as is. This folds another ~200 reloads on benchmarks.

Mon, Sep 23, 8:17 AM

Fri, Sep 20

jonpa committed rG81aa62addf7b: [SystemZ] Add SystemZ as supporting target in help text for -mfentry. (authored by jonpa).
[SystemZ] Add SystemZ as supporting target in help text for -mfentry.
Fri, Sep 20, 6:17 AM
jonpa committed rL372387: [SystemZ] Add SystemZ as supporting target in help text for -mfentry..
[SystemZ] Add SystemZ as supporting target in help text for -mfentry.
Fri, Sep 20, 6:16 AM

Thu, Sep 19

jonpa created D67765: [SystemZ] Recognize mnop-mcount in backend.
Thu, Sep 19, 7:50 AM
jonpa added a comment to D67763: [Clang FE] Recognize -mnop-mcount CL option.

See https://reviews.llvm.org/D67765 for the SystemZ backend part of this patch set.

Thu, Sep 19, 7:50 AM
jonpa created D67763: [Clang FE] Recognize -mnop-mcount CL option.
Thu, Sep 19, 7:44 AM
jonpa created D67755: [LoopDataPrefetch, SystemZ] Increase the amount of prefetching..
Thu, Sep 19, 3:46 AM

Tue, Sep 17

jonpa updated the diff for D67619: [SystemZ] Improve emitSelect().

Tried to make some more tests in multiselect.ll to cover merging of Select pseudos. Trunk fails on @test1.

Tue, Sep 17, 2:26 AM

Mon, Sep 16

jonpa committed rGb7dadc3562d0: [SystemZ] Call erase() on the right MBB in SystemZTargetLowering::emitSelect() (authored by jonpa).
[SystemZ] Call erase() on the right MBB in SystemZTargetLowering::emitSelect()
Mon, Sep 16, 7:51 AM
jonpa committed rL371995: [SystemZ] Call erase() on the right MBB in SystemZTargetLowering::emitSelect().
[SystemZ] Call erase() on the right MBB in SystemZTargetLowering::emitSelect()
Mon, Sep 16, 7:50 AM
jonpa created D67619: [SystemZ] Improve emitSelect().
Mon, Sep 16, 7:11 AM
jonpa added a comment to D63973: [MachineVerifier] Improve checks of target instructions operands..

Ping to code owners of the corrupt tests: @kparzysz and @craig.topper

Mon, Sep 16, 12:45 AM
jonpa closed D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..

r371959

Mon, Sep 16, 12:31 AM
jonpa committed rGca5acf5b5e7d: [SystemZ] Merge the SystemZExpandPseudo pass into SystemZPostRewrite. (authored by jonpa).
[SystemZ] Merge the SystemZExpandPseudo pass into SystemZPostRewrite.
Mon, Sep 16, 12:29 AM
jonpa committed rL371959: [SystemZ] Merge the SystemZExpandPseudo pass into SystemZPostRewrite..
[SystemZ] Merge the SystemZExpandPseudo pass into SystemZPostRewrite.
Mon, Sep 16, 12:28 AM

Sep 13 2019

jonpa added inline comments to D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..
Sep 13 2019, 5:32 AM
jonpa updated the diff for D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..

Updated per review.

Sep 13 2019, 5:32 AM
jonpa updated the diff for D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..

The only issue with multi-threaded programs would be persistant state...

OK, thanks for the explanation.

Sep 13 2019, 2:50 AM

Sep 12 2019

jonpa added a comment to D67437: [SystemZ] Swap compare operands in foldMemoryOperandImpl() if possible..

In general, 'lg; cgrje' should have the same performance as 'cg; je' (both have one single-issue and one dual-issue opcode on current micro-archs). However, the 'cg; je' version does not require a GPR to hold the value to be compared against, so it may be preferable due to register pressure concerns.

Sep 12 2019, 7:32 AM
jonpa added a comment to D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..

Wait - is it safe to have SystemZRegisterInfo::isHighReg() be a static function? I remember that you said that static functions were bad in multi-threaded programs. Is the "Reg" argument safe if two threads call this method simultaneously?

Sep 12 2019, 5:44 AM
jonpa updated the diff for D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..

I moved the functions and renamed them trySelectLOCRMux() and trySelectSELRMux() to avoid confusion (they do not "expand" the LOCRMux). Is there a point in passing the opcodes as arguments to them?

Sep 12 2019, 5:40 AM

Sep 11 2019

jonpa created D67437: [SystemZ] Swap compare operands in foldMemoryOperandImpl() if possible..
Sep 11 2019, 4:42 AM
jonpa updated the diff for D66868: [SystemZ] Fix handling of CC values.

Remove the assert "A logical opcode was selected in presence of the nsw flag." This is too aggressive, as a zero extension can be folded into the instruction regardless of "nsw" (e.g. ALGFR).

Sep 11 2019, 2:14 AM
jonpa created D67432: [SystemZ] Merge SystemZExpandPseudo pass into SystemZPostRewrite..
Sep 11 2019, 1:46 AM

Sep 10 2019

jonpa updated the diff for D66868: [SystemZ] Fix handling of CC values.
  • Added assert when detecting an add with immediate, that this is not an immediate offset of a memory instruction but indeed an immediate operand.
Sep 10 2019, 4:04 AM
jonpa added inline comments to D66868: [SystemZ] Fix handling of CC values.
Sep 10 2019, 4:04 AM

Sep 9 2019

jonpa closed D67151: [SystemZ] Recognize INLINEASM_BR in backend.

r371048

Sep 9 2019, 4:36 AM
jonpa updated the diff for D66868: [SystemZ] Fix handling of CC values.

Patch updated:

Sep 9 2019, 4:22 AM
jonpa committed rGca6f45229929: [SystemZ] NFC: use clearRegisterDeads() in SystemZElimCompare.cpp (authored by jonpa).
[SystemZ] NFC: use clearRegisterDeads() in SystemZElimCompare.cpp
Sep 9 2019, 1:02 AM
jonpa committed rL371369: [SystemZ] NFC: use clearRegisterDeads() in SystemZElimCompare.cpp.
[SystemZ] NFC: use clearRegisterDeads() in SystemZElimCompare.cpp
Sep 9 2019, 1:02 AM

Sep 5 2019

jonpa committed rG821858780ec0: [SystemZ] Recognize INLINEASM_BR in backend (authored by jonpa).
[SystemZ] Recognize INLINEASM_BR in backend
Sep 5 2019, 3:21 AM
jonpa committed rL371048: [SystemZ] Recognize INLINEASM_BR in backend.
[SystemZ] Recognize INLINEASM_BR in backend
Sep 5 2019, 3:18 AM

Sep 4 2019

jonpa added inline comments to D67151: [SystemZ] Recognize INLINEASM_BR in backend.
Sep 4 2019, 7:46 AM
jonpa updated the diff for D67151: [SystemZ] Recognize INLINEASM_BR in backend.

Updated per review.

Sep 4 2019, 7:46 AM
jonpa added inline comments to D66868: [SystemZ] Fix handling of CC values.
Sep 4 2019, 5:29 AM
jonpa added inline comments to D66868: [SystemZ] Fix handling of CC values.
Sep 4 2019, 5:29 AM
jonpa updated the diff for D66868: [SystemZ] Fix handling of CC values.

Updated per the review so far.

Sep 4 2019, 5:29 AM
jonpa updated the diff for D67151: [SystemZ] Recognize INLINEASM_BR in backend.

Fix: Remember to check for MBB equality in SystemZPostRASchedStrategy::enterMBB()

Sep 4 2019, 4:47 AM
jonpa created D67151: [SystemZ] Recognize INLINEASM_BR in backend.
Sep 4 2019, 4:04 AM

Sep 3 2019

jonpa committed rGa0a811739dd0: [SystemZ] Recognize INLINEASM_BR in backend. (authored by jonpa).
[SystemZ] Recognize INLINEASM_BR in backend.
Sep 3 2019, 6:31 AM
jonpa committed rL370753: [SystemZ] Recognize INLINEASM_BR in backend..
[SystemZ] Recognize INLINEASM_BR in backend.
Sep 3 2019, 6:31 AM
jonpa committed rGf12415812c08: [SystemZ] Add support for fentry. (authored by jonpa).
[SystemZ] Add support for fentry.
Sep 3 2019, 4:21 AM
jonpa committed rL370743: [SystemZ] Add support for fentry..
[SystemZ] Add support for fentry.
Sep 3 2019, 4:21 AM
jonpa updated the diff for D66868: [SystemZ] Fix handling of CC values.

Patch updated.

Sep 3 2019, 2:15 AM

Aug 28 2019

jonpa created D66868: [SystemZ] Fix handling of CC values.
Aug 28 2019, 3:32 AM

Aug 27 2019

jonpa requested review of D63973: [MachineVerifier] Improve checks of target instructions operands..

Thanks, this LGTM. I quickly looked at the X86 tests, it seems that PATCHABLE_EVENT_CALL and PATCHABLE_TYPED_EVENT_CALL are always created with a register but expect immediates in Target.td. I'm not sure what was the intention so I'll leave it to @dberris.

Aug 27 2019, 1:32 AM

Aug 25 2019

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

@bjope might know about DebugInfo/X86/live-debug-vars-discard-invalid.mir failure

Thanks! (I had not noticed this patch)
I think the problem with DebugInfo/X86/live-debug-vars-discard-invalid.mir is that the test case uses the BTS64rr instruction, but it should probably have used BTS64ri8 instead (considering that the second operand is a constant).
I'll have another look at it and then I'll push a fixup.

Fix pushed in https://reviews.llvm.org/rL369866

Aug 25 2019, 7:59 AM
jonpa added a reviewer for D63973: [MachineVerifier] Improve checks of target instructions operands.: craig.topper.

It would be very nice if people with knowledge of the Hexagon and X86 backends could help out on fixing the failing tests. Note that these tests have been discovered to have a broken MIR (!), so please help...

Aug 25 2019, 1:48 AM

Jul 16 2019

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

I hope the problem with MIPS tests was fixed at the rL365870.

Jul 16 2019, 6:14 AM

Jul 4 2019

jonpa requested review of D63973: [MachineVerifier] Improve checks of target instructions operands..

Thanks for the review of the patch so far!

Jul 4 2019, 4:12 AM

Jul 2 2019

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

Thank you for review.

Jul 2 2019, 6:13 AM

Jun 29 2019

jonpa updated the summary of D63973: [MachineVerifier] Improve checks of target instructions operands..
Jun 29 2019, 5:15 AM
jonpa created D63973: [MachineVerifier] Improve checks of target instructions operands..
Jun 29 2019, 5:10 AM

Jun 25 2019

jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.
  • Don't use VRM for VirtReg in analyzeOperands(). In case of an eviction (where VirtReg already has a physreg in VRM), this previous regclass should not be reused initially.
Jun 25 2019, 3:38 AM

Jun 18 2019

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

Here's an updated list of stats for SPEC 2006, with the latest fixes applied, and also with "soft hints" at the bottom.

Jun 18 2019, 10:47 AM
jonpa committed rG5c64a8c4c694: [SystemZ] Fix AHIMuxK pseudo expansion. (authored by jonpa).
[SystemZ] Fix AHIMuxK pseudo expansion.
Jun 18 2019, 5:09 AM
jonpa committed rL363665: [SystemZ] Fix AHIMuxK pseudo expansion..
[SystemZ] Fix AHIMuxK pseudo expansion.
Jun 18 2019, 5:06 AM
jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.

Don't skip all 2-address hints in getRegallocationHints() just because it's a GRH32 register: AHIMuxK actually can expand to a 2-address instruction using a high register.

Jun 18 2019, 4:24 AM

Jun 17 2019

jonpa added inline comments to D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.
Jun 17 2019, 8:44 AM
jonpa updated the diff for D58923: [SystemZ] Utilize Compare/Add/Sub "High" instructions.
  • SystemZSelectMux.cpp merged into SystemZPostRewrite.cpp.
Jun 17 2019, 8:35 AM

Jun 8 2019

jonpa added a comment to D22011: [SystemZ] Generate fewer instructions for (sub <constant>, x).

This test has now been added as int-sub-11.ll by r362868 "Favor 3-address instructions during instruction selection".

Jun 8 2019, 12:03 AM

Jun 7 2019

jonpa closed D60888: [SystemZ] Favor 3-address instructions during instruction selection..

Thanks for review! Committed as r362868.

Jun 7 2019, 11:45 PM
jonpa committed rGbca56ab073a0: [SystemZ] Fix CMakeLists.txt for alphabetical order (NFC). (authored by jonpa).
[SystemZ] Fix CMakeLists.txt for alphabetical order (NFC).
Jun 7 2019, 11:40 PM
jonpa committed rL362869: [SystemZ] Fix CMakeLists.txt for alphabetical order (NFC)..
[SystemZ] Fix CMakeLists.txt for alphabetical order (NFC).
Jun 7 2019, 11:39 PM
jonpa committed rGfdc4ea34e326: [SystemZ, RegAlloc] Favor 3-address instructions during instruction selection. (authored by jonpa).
[SystemZ, RegAlloc] Favor 3-address instructions during instruction selection.
Jun 7 2019, 11:17 PM
jonpa committed rL362868: [SystemZ, RegAlloc] Favor 3-address instructions during instruction selection..
[SystemZ, RegAlloc] Favor 3-address instructions during instruction selection.
Jun 7 2019, 11:17 PM
jonpa added inline comments to D60888: [SystemZ] Favor 3-address instructions during instruction selection..
Jun 7 2019, 8:54 AM