Page MenuHomePhabricator
Feed Advanced Search

Sat, Feb 20

dantrushin added inline comments to D96978: [WIP] Bias statepoint operands towards spilling.
Sat, Feb 20, 1:43 AM · Restricted Project
dantrushin added a comment to D97108: [Statepoint Lowering] Allow dead gc pointer from deopt section to be on register..
Sat, Feb 20, 1:13 AM · Restricted Project

Tue, Feb 2

dantrushin accepted D95858: [Statepoint] Handle 'undef' operand tied to def.

BTW, we can completely delete tied dead,undef pair. But additional complexity might not worth it.

Tue, Feb 2, 3:46 AM · Restricted Project

Jan 18 2021

dantrushin committed rGf7443905af1e: [Statepoint] Handle `undef` operands in statepoint. (authored by dantrushin).
[Statepoint] Handle `undef` operands in statepoint.
Jan 18 2021, 4:22 AM
dantrushin closed D94703: [Statepoint] Handle `undef` operands in statepoint..
Jan 18 2021, 4:22 AM · Restricted Project

Jan 15 2021

dantrushin updated the diff for D94703: [Statepoint] Handle `undef` operands in statepoint..

Add test case;

Jan 15 2021, 8:48 AM · Restricted Project

Jan 14 2021

dantrushin requested review of D94703: [Statepoint] Handle `undef` operands in statepoint..
Jan 14 2021, 11:42 AM · Restricted Project

Jan 12 2021

dantrushin added inline comments to D94482: [Verifier] Extend statepoint verifier to cover more constants.
Jan 12 2021, 4:50 AM · Restricted Project
dantrushin accepted D94389: [InlineSpiller]Re-tie operands if folding failed.

LGTM

Jan 12 2021, 4:48 AM · Restricted Project
dantrushin accepted D94469: [Statepoint Lowering] Add an option to allow use gc values in regs for landing pad.

LGTM.
Though, I don't see much point in having it :)

Jan 12 2021, 4:35 AM · Restricted Project
dantrushin accepted D94482: [Verifier] Extend statepoint verifier to cover more constants.

LGTM

Jan 12 2021, 4:32 AM · Restricted Project
dantrushin accepted D94483: [Verifier] Add tied-ness verification to statepoint intsruction.

LGTM

Jan 12 2021, 4:28 AM · Restricted Project

Jan 11 2021

dantrushin accepted D94389: [InlineSpiller]Re-tie operands if folding failed.

LGTM

Jan 11 2021, 7:56 AM · Restricted Project

Dec 21 2020

dantrushin committed rG6f45049fb6e5: [Statepoints] Disable VReg lowering for values used on exception path of invoke. (authored by dantrushin).
[Statepoints] Disable VReg lowering for values used on exception path of invoke.
Dec 21 2020, 5:28 AM
dantrushin closed D93449: [Statepoints] Disable VReg lowering for values used on exception path of invoke..
Dec 21 2020, 5:27 AM · Restricted Project

Dec 17 2020

dantrushin requested review of D93449: [Statepoints] Disable VReg lowering for values used on exception path of invoke..
Dec 17 2020, 4:03 AM · Restricted Project

Dec 16 2020

dantrushin committed rGc5771a2f2df9: [Statepoints] Extract invoke tests into separate file. NFC. (authored by dantrushin).
[Statepoints] Extract invoke tests into separate file. NFC.
Dec 16 2020, 5:55 AM

Oct 23 2020

dantrushin added a reverting change for rG2b96dcebfae6: [Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty.: rG4f7ee55971e7: Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty..
Oct 23 2020, 7:57 AM
dantrushin committed rG4f7ee55971e7: Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty. (authored by dantrushin).
Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty.
Oct 23 2020, 7:57 AM
dantrushin added a reverting change for D88999: [Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty.: rG4f7ee55971e7: Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty..
Oct 23 2020, 7:57 AM · Restricted Project

Oct 20 2020

dantrushin accepted D89612: NFC: Fix -Wsign-compare warnings on 32-bit builds.

LGTM

Oct 20 2020, 7:22 AM · Restricted Project, Restricted Project

Oct 15 2020

dantrushin committed rG8f0ddd4a1a0d: [Statepoints] Remove MI limit on number of tied operands. (authored by dantrushin).
[Statepoints] Remove MI limit on number of tied operands.
Oct 15 2020, 5:03 AM
dantrushin committed rG8c2b69d53a32: [Statepoints] Unlimited tied operands. (authored by dantrushin).
[Statepoints] Unlimited tied operands.
Oct 15 2020, 2:17 AM
dantrushin closed D87915: [Statepoints] Unlimited tied operands..
Oct 15 2020, 2:17 AM · Restricted Project

Oct 13 2020

dantrushin committed rG1a82705c8d03: [Statepoints] Update statepoint mir tests. (authored by dantrushin).
[Statepoints] Update statepoint mir tests.
Oct 13 2020, 12:29 PM

Oct 10 2020

dantrushin committed rG2b96dcebfae6: [Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty. (authored by dantrushin).
[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty.
Oct 10 2020, 12:59 AM
dantrushin closed D88999: [Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty..
Oct 10 2020, 12:59 AM · Restricted Project

Oct 9 2020

dantrushin added a comment to D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.

The way I read the lang ref this is intentional. Not to say one should not define what it means for vectors of pointers and then allow it. I feel align is not the only one missing for them though.
You want to give it a try?

Oct 9 2020, 6:19 AM · Restricted Project
dantrushin updated the diff for D87915: [Statepoints] Unlimited tied operands..

Address review comments

Oct 9 2020, 5:29 AM · Restricted Project

Oct 8 2020

dantrushin added a comment to D87304: [AttributeFuncs] Consider `align` in `typeIncompatible`.

I wonder if align attribute is legal for vectors of pointers?
This is allowed:

define align 8 i32* @test_scalar(i32* %in) {
  ret i32* %in
}

but this is not:

define align 8 <4 x i32*> @test_vector(<4 x i32*> %in) {
  ret <4 x i32*> %in
}

Is it intentional behavior or just has been overlooked?

Oct 8 2020, 1:38 AM · Restricted Project

Oct 7 2020

dantrushin retitled D87915: [Statepoints] Unlimited tied operands. from [WIP][Statepoints] Unlimited tied operands. to [Statepoints] Unlimited tied operands..
Oct 7 2020, 2:09 PM · Restricted Project
dantrushin requested review of D88999: [Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty..
Oct 7 2020, 12:02 PM · Restricted Project

Oct 6 2020

dantrushin committed rGc08d48fc2d7c: [Statepoints] Change statepoint machine instr format to better suit VReg… (authored by dantrushin).
[Statepoints] Change statepoint machine instr format to better suit VReg…
Oct 6 2020, 3:57 AM
dantrushin closed D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..
Oct 6 2020, 3:56 AM · Restricted Project
dantrushin updated the diff for D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..

Add local asserts

Oct 6 2020, 2:53 AM · Restricted Project

Oct 2 2020

dantrushin committed rG7b19cd06d732: [Statepoints][ISEL] visitGCRelocate: chain to current DAG root. (authored by dantrushin).
[Statepoints][ISEL] visitGCRelocate: chain to current DAG root.
Oct 2 2020, 7:42 AM
dantrushin closed D88639: [Statepoints][ISEL] visitGCRelocate: chain to current DAG root..
Oct 2 2020, 7:42 AM · Restricted Project

Oct 1 2020

dantrushin retitled D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering. from [WIP][Statepoints] Change statepoint machine instr format to better suit VReg lowering. to [Statepoints] Change statepoint machine instr format to better suit VReg lowering..
Oct 1 2020, 2:45 AM · Restricted Project
dantrushin updated the diff for D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..

Update statepoint MI description, provide link to it at parseStatepointOperands;
Fix style issues;

Oct 1 2020, 1:50 AM · Restricted Project
dantrushin requested review of D88639: [Statepoints][ISEL] visitGCRelocate: chain to current DAG root..
Oct 1 2020, 1:28 AM · Restricted Project

Sep 30 2020

dantrushin added inline comments to D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..
Sep 30 2020, 10:40 AM · Restricted Project
dantrushin updated the diff for D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..

Address most review comments:

  • add documentation to API
  • factor out some code to separate function
  • fix test instead of XFAILing it
Sep 30 2020, 10:34 AM · Restricted Project

Sep 21 2020

dantrushin committed rGee86688b8175: [Statepoints][ISEL] gc.relocate uniquification should be based on SDValue, not… (authored by dantrushin).
[Statepoints][ISEL] gc.relocate uniquification should be based on SDValue, not…
Sep 21 2020, 5:45 AM
dantrushin closed D87695: [Statepoints][ISEL] gc.relocate uniquification should be based on SDValue, not IR Value..
Sep 21 2020, 5:45 AM · Restricted Project

Sep 19 2020

dantrushin added inline comments to D87488: [ImplicitNullCheck] Hoisting multiple dependencies.
Sep 19 2020, 11:22 AM · Restricted Project

Sep 18 2020

dantrushin updated the diff for D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..

Rebase on tip and use newly added API;
Slightly change GC pointer operand lowering;

Sep 18 2020, 9:18 AM · Restricted Project
dantrushin requested review of D87915: [Statepoints] Unlimited tied operands..
Sep 18 2020, 9:15 AM · Restricted Project

Sep 15 2020

dantrushin requested review of D87695: [Statepoints][ISEL] gc.relocate uniquification should be based on SDValue, not IR Value..
Sep 15 2020, 7:46 AM · Restricted Project

Sep 10 2020

dantrushin added a comment to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.

Thanks, it reads much better for me now.
Looks good.

Sep 10 2020, 10:36 AM · Restricted Project

Sep 9 2020

dantrushin committed rG4358fa782e3d: [Statepoints] Update DAG root after emitting statepoint. (authored by dantrushin).
[Statepoints] Update DAG root after emitting statepoint.
Sep 9 2020, 6:22 AM
dantrushin closed D87251: [Statepoints] Update DAG root after emitting statepoint..
Sep 9 2020, 6:22 AM · Restricted Project
dantrushin committed rG2a52c3301a52: [Statepoints] Properly handle const base pointer. (authored by dantrushin).
[Statepoints] Properly handle const base pointer.
Sep 9 2020, 12:08 AM
dantrushin closed D87252: [Statepoints] Properly handle const base pointer..
Sep 9 2020, 12:08 AM · Restricted Project

Sep 8 2020

dantrushin added inline comments to D87148: [ImplicitNullCheck] Handle Nonzero faulting pages and complex addressing.
Sep 8 2020, 7:29 AM · Restricted Project

Sep 7 2020

dantrushin requested review of D87252: [Statepoints] Properly handle const base pointer..
Sep 7 2020, 11:23 AM · Restricted Project
dantrushin requested review of D87251: [Statepoints] Update DAG root after emitting statepoint..
Sep 7 2020, 11:22 AM · Restricted Project

Sep 4 2020

dantrushin added a comment to D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..

Can we come up with better format for gc pointer map (base/derived)?
I wish it were possible to have it in separate psude instruction glued with statepoint. Unfortunately, that seems impossible now.

Sep 4 2020, 11:56 AM · Restricted Project
dantrushin updated the summary of D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..
Sep 4 2020, 11:50 AM · Restricted Project
dantrushin requested review of D87154: [Statepoints] Change statepoint machine instr format to better suit VReg lowering..
Sep 4 2020, 11:46 AM · Restricted Project
dantrushin added a comment to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.

Looks good for me.
The only thing that worries me is shouldn't we have broader audience since we're changing 'global' APIs?

Sep 4 2020, 4:42 AM · Restricted Project

Sep 3 2020

dantrushin added inline comments to D87108: [ImplicitNullCheck] Handle instructions that do not modify null behaviour of null checked reg.
Sep 3 2020, 12:38 PM · Restricted Project

Aug 28 2020

dantrushin committed rGfabd4c1ae1fc: [Statepoint] Always spill base pointer. (authored by dantrushin).
[Statepoint] Always spill base pointer.
Aug 28 2020, 9:22 AM
dantrushin closed D86712: [Statepoint] Always spill base pointer..
Aug 28 2020, 9:22 AM · Restricted Project
dantrushin closed D81603: [WIP] MIR Statepoint refactoring: Pass GC pointergs in VRegs..
Aug 28 2020, 7:51 AM · Restricted Project
dantrushin accepted D81603: [WIP] MIR Statepoint refactoring: Pass GC pointergs in VRegs..

All pieces has been landed, so closing it.
Unfortunately, final result (e.g. ISEL part) diverged quite a bit from this, but idea at large has not changed

Aug 28 2020, 7:51 AM · Restricted Project
dantrushin committed rG248a67f1445d: [Statepoint] Turn assert into check in foldPatchpoint. (authored by dantrushin).
[Statepoint] Turn assert into check in foldPatchpoint.
Aug 28 2020, 6:02 AM

Aug 27 2020

dantrushin requested review of D86712: [Statepoint] Always spill base pointer..
Aug 27 2020, 7:17 AM · Restricted Project

Aug 14 2020

dantrushin committed rG1c80a6ce5f22: [Statepoints] FixupStatepoint: properly set isKill on spilled register. (authored by dantrushin).
[Statepoints] FixupStatepoint: properly set isKill on spilled register.
Aug 14 2020, 8:20 AM
dantrushin added inline comments to D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..
Aug 14 2020, 8:07 AM · Restricted Project
dantrushin committed rG5f6bee77fad6: [Statepoints] Spill GC Ptr regs in FixupStatepoints. (authored by dantrushin).
[Statepoints] Spill GC Ptr regs in FixupStatepoints.
Aug 14 2020, 6:22 AM
dantrushin closed D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..
Aug 14 2020, 6:21 AM · Restricted Project
dantrushin accepted D85959: [InstCombine] Remove unused entries in gc-liv bundle of statepoint.

LGTM with couple nits inline

Aug 14 2020, 5:37 AM · Restricted Project

Aug 5 2020

dantrushin closed D81646: MIR Statepoint refactoring. Part 2: Operand folding..

https://reviews.llvm.org/rGd21ce4082181

Aug 5 2020, 8:40 AM · Restricted Project
dantrushin abandoned D83965: MIR Statepoint refactoring. Part 5: Handle non-local relocates in ISEL..
Aug 5 2020, 7:11 AM · Restricted Project
dantrushin committed rGd21ce4082181: [Statepoints] Operand folding in presense of tied registers. (authored by dantrushin).
[Statepoints] Operand folding in presense of tied registers.
Aug 5 2020, 6:19 AM

Aug 4 2020

dantrushin added a comment to D81646: MIR Statepoint refactoring. Part 2: Operand folding..


Attached test will explode if isTied check is removed as suggested.
Essential part is:

%10:gr64 = MOV64rm killed %9, 1, $noreg, 0, $noreg :: (load 8 from %ir.p0, addrspace 1)
%6:gr64, %7:gr64 = STATEPOINT 0, 0, 0, @foo, 2, 0, 2, 0, 2, 0, %8, %8(tied-def 0), killed %10, %0(tied-def 1), ...

It is synthetic (i.e. we do no generate such MIR from any IR), but still not invalid

Aug 4 2020, 11:22 AM · Restricted Project

Aug 3 2020

dantrushin added inline comments to D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..
Aug 3 2020, 12:24 PM · Restricted Project
dantrushin updated the diff for D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..
  • Mark MMOs for gc register spill slots as load/store ones;
  • Add assert that there is only one EHPad;
Aug 3 2020, 12:21 PM · Restricted Project
dantrushin added a comment to D84964: [WIP] Demo a functional problem from D81647 with a fix and test case.

I will incorporate this into D81647, since fix will be even simpler there.

Aug 3 2020, 11:33 AM · Restricted Project
dantrushin abandoned D81393: [ScheduleDAG][NFC] Use MCInstrDesc API to check PhysReg definition..

This was landed as part of larger patch (D81648) for which this was a blocker. Abandoning this review.

Aug 3 2020, 9:43 AM · Restricted Project

Jul 17 2020

dantrushin added a comment to D81645: MIR Statepoint refactoring. Part 1: Basic MI level changes..

Hi, I see CodeGen/X86/statepoint-vreg.mir failing with UBSAN enabled on our internal bots:

Jul 17 2020, 11:26 PM · Restricted Project
dantrushin added a comment to D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..

That EHPad reload tracking does not fit very well in existing design. I added it as a separate entity stored in StatepointProcessor and passed to
StatepointState::insertReloads.
Ideally, I would insert all reloads in a single sweep after all statepoints has been processed. But I did not find a clean way to do that without refactoring
(like merging StatepointStates functionality into`StatepointProcessor`).

Jul 17 2020, 8:42 AM · Restricted Project
dantrushin updated the diff for D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..

Add tracking of reloads inserted in landing pads.

Jul 17 2020, 8:31 AM · Restricted Project

Jul 16 2020

dantrushin committed rGe04fe9aefd4b: [Statepoint] Fix bug found by sanitaizer. (authored by dantrushin).
[Statepoint] Fix bug found by sanitaizer.
Jul 16 2020, 1:07 PM
dantrushin committed rGef658ebd6292: MIR Statepoint refactoring. Part 1: Basic MI level changes. (authored by dantrushin).
MIR Statepoint refactoring. Part 1: Basic MI level changes.
Jul 16 2020, 10:58 AM
dantrushin closed D81645: MIR Statepoint refactoring. Part 1: Basic MI level changes..
Jul 16 2020, 10:58 AM · Restricted Project
dantrushin updated the diff for D81603: [WIP] MIR Statepoint refactoring: Pass GC pointergs in VRegs..

Update to reflect current state of development

Jul 16 2020, 10:19 AM · Restricted Project
dantrushin updated the diff for D83965: MIR Statepoint refactoring. Part 5: Handle non-local relocates in ISEL..

Another attempt

Jul 16 2020, 10:11 AM · Restricted Project
dantrushin updated the diff for D83965: MIR Statepoint refactoring. Part 5: Handle non-local relocates in ISEL..

Remove accidently added test option

Jul 16 2020, 10:07 AM · Restricted Project
Herald added a project to D83965: MIR Statepoint refactoring. Part 5: Handle non-local relocates in ISEL.: Restricted Project.
Jul 16 2020, 10:02 AM · Restricted Project
dantrushin updated the diff for D81646: MIR Statepoint refactoring. Part 2: Operand folding..

Add test demonstrating statepoint operand folding.

Jul 16 2020, 8:06 AM · Restricted Project
dantrushin updated the diff for D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..

Rework slot reservation according to comments.
Add an option to disable copy propagation.

Jul 16 2020, 4:45 AM · Restricted Project

Jul 14 2020

dantrushin updated the diff for D81648: MIR Statepoint refactoring. Part 4: ISEL changes..

Clear DerivedPtrMap at new statepoint.

Jul 14 2020, 7:07 AM · Restricted Project
dantrushin added a comment to D81648: MIR Statepoint refactoring. Part 4: ISEL changes..

Second, there appears to be a semantic problem around the handling of base vs derived slots unless we *always* spill the base. We can't tie both uses to a single def. This may warrant some offline discussion.

Jul 14 2020, 5:35 AM · Restricted Project
dantrushin updated the diff for D81648: MIR Statepoint refactoring. Part 4: ISEL changes..

Another attempt to submit update.

Jul 14 2020, 3:33 AM · Restricted Project

Jul 10 2020

dantrushin updated the diff for D81648: MIR Statepoint refactoring. Part 4: ISEL changes..

Addressed comments.

Jul 10 2020, 12:47 PM · Restricted Project
dantrushin added inline comments to D81648: MIR Statepoint refactoring. Part 4: ISEL changes..
Jul 10 2020, 12:43 PM · Restricted Project
dantrushin updated the summary of D81648: MIR Statepoint refactoring. Part 4: ISEL changes..
Jul 10 2020, 9:12 AM · Restricted Project
dantrushin updated the diff for D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs..

Restore accidently destroyed review.

Jul 10 2020, 8:38 AM · Restricted Project
dantrushin updated the diff for D81648: MIR Statepoint refactoring. Part 4: ISEL changes..

Changed DerivedPtrMap and moved it to StatepointLowering.h as it only
needed for local gc.relocate processing;
Rebased on tip, rewrote lowerStatepointMetaArgs as been told;
Deleted test mods, will add separate test later;

Jul 10 2020, 7:57 AM · Restricted Project