Page MenuHomePhabricator

chenli (Chen Li)Email Not Verified
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 26 2015, 4:12 PM (256 w, 5 d)

Recent Activity

Jan 26 2016

chenli committed rL258912: [IndVarSimplify] Rewrite loop exit values with their initial values from loop….
[IndVarSimplify] Rewrite loop exit values with their initial values from loop…
Jan 26 2016, 11:44 PM
chenli closed D16570: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Jan 26 2016, 11:44 PM
chenli updated D16570: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Jan 26 2016, 9:58 PM

Jan 25 2016

chenli added inline comments to D16570: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Jan 25 2016, 10:24 PM
chenli updated the diff for D16570: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.

The original diff file was from D13974 for the purpose of comparison. This is the updated diff file.

Jan 25 2016, 10:23 PM
chenli retitled D16570: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader from to [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Jan 25 2016, 10:01 PM

Jan 13 2016

chenli added a comment to D15931: [LoopUnswitch] Create a PHINode for the original landingpad only if it has some uses.

ping...

Jan 13 2016, 10:20 AM

Jan 11 2016

chenli committed rL257366: Code refactoring for commit r257278..
Code refactoring for commit r257278.
Jan 11 2016, 11:24 AM

Jan 9 2016

chenli committed rL257278: Fix a control flow problem in commit rL257277..
Fix a control flow problem in commit rL257277.
Jan 9 2016, 10:17 PM
chenli committed rL257277: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
[SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad.
Jan 9 2016, 9:51 PM
chenli closed D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Jan 9 2016, 9:51 PM

Jan 8 2016

chenli updated the diff for D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update patch w.r.t. Philip's comments.

Jan 8 2016, 12:41 PM
chenli added inline comments to D15931: [LoopUnswitch] Create a PHINode for the original landingpad only if it has some uses.
Jan 8 2016, 11:25 AM

Jan 6 2016

chenli added inline comments to D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Jan 6 2016, 1:01 PM
chenli committed rL256972: [SplitLandingPadPredecessors] Create a PHINode for the original landingpad….
[SplitLandingPadPredecessors] Create a PHINode for the original landingpad…
Jan 6 2016, 12:35 PM
chenli closed D15835: [SplitLandingPadPredecessors] Create a PHINode for the original landingpad only if it has some uses.
Jan 6 2016, 12:35 PM
chenli added inline comments to D15931: [LoopUnswitch] Create a PHINode for the original landingpad only if it has some uses.
Jan 6 2016, 11:49 AM
chenli retitled D15931: [LoopUnswitch] Create a PHINode for the original landingpad only if it has some uses from to [LoopUnswitch] Create a PHINode for the original landingpad only if it has some uses.
Jan 6 2016, 11:32 AM

Jan 5 2016

chenli updated the diff for D15835: [SplitLandingPadPredecessors] Create a PHINode for the original landingpad only if it has some uses.

Update patch w.r.t Philip's comments.

Jan 5 2016, 10:11 PM

Jan 4 2016

chenli committed rL256792: [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop….
[InstructionCombining] prepareICWorklistFromFunction halts in infinite loop…
Jan 4 2016, 3:33 PM
chenli closed D15859: [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop with instructions of token type by committing rL256792: [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop….
Jan 4 2016, 3:32 PM
chenli added inline comments to D15859: [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop with instructions of token type.
Jan 4 2016, 2:31 PM
chenli added a reviewer for D15859: [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop with instructions of token type: reames.
Jan 4 2016, 1:49 PM
chenli retitled D15859: [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop with instructions of token type from to [InstructionCombining] prepareICWorklistFromFunction halts in infinite loop with instructions of token type.
Jan 4 2016, 10:45 AM

Dec 30 2015

chenli retitled D15835: [SplitLandingPadPredecessors] Create a PHINode for the original landingpad only if it has some uses from to [SplitLandingPadPredecessors] Create a PHINode for the original landingpad only if it has some uses.
Dec 30 2015, 10:04 PM

Dec 25 2015

chenli committed rL256443: [gc.statepoint] Change gc.statepoint intrinsic's return type to token type….
[gc.statepoint] Change gc.statepoint intrinsic's return type to token type…
Dec 25 2015, 11:58 PM
chenli closed D15662: [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type by committing rL256443: [gc.statepoint] Change gc.statepoint intrinsic's return type to token type….
Dec 25 2015, 11:58 PM
chenli closed D15662: [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type.
Dec 25 2015, 11:58 PM

Dec 21 2015

chenli added inline comments to rL250345: Update the branch weight metadata in JumpThreading pass..
Dec 21 2015, 1:30 PM
chenli added inline comments to rL250345: Update the branch weight metadata in JumpThreading pass..
Dec 21 2015, 1:22 PM

Dec 18 2015

chenli retitled D15662: [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type from to [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type.
Dec 18 2015, 9:43 PM

Dec 15 2015

chenli committed rL255755: Remove FileCheck from test case token_landingpad.ll. .
Remove FileCheck from test case token_landingpad.ll.
Dec 15 2015, 10:30 PM
chenli committed rL255750: Fixed test case in rL255749: [SelectionDAGBuilder] Adds support for….
Fixed test case in rL255749: [SelectionDAGBuilder] Adds support for…
Dec 15 2015, 9:08 PM
chenli committed rL255749: [SelectionDAGBuilder] Adds support for landingpads of token type.
[SelectionDAGBuilder] Adds support for landingpads of token type
Dec 15 2015, 8:52 PM
chenli closed D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.
Dec 15 2015, 8:51 PM

Dec 14 2015

chenli added a comment to D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

@rnk -- as for ExceptionHandling.rst, I'd prefer to update gc.statepoint document first on how they use landingpads of token type, and then add a reference in ExceptionHandling.rst. Does that sounds reasonable to you?

Dec 14 2015, 11:09 PM
chenli updated the diff for D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

Update patch with initial approach as described by the updated summary.

Dec 14 2015, 11:05 PM
chenli added a comment to D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.
In D15405#310301, @rnk wrote:

It just seemed backwards to snoop the landingpad's type when we expect landingpad type to be dictated by the personality, nothing deeper than that.

I think it's fine. landingpad personalities don't impose a lot of constraints on the compiler. It seems nicer to treat them as more of an open set of well-behaved things.

Alright. Chen, sorry for the back-and-forth.

Dec 14 2015, 2:40 PM
chenli added a comment to D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

I can imagine wanting to use some kind of relocating GC scheme in a function that uses C++ EH, and needing to name out the right __gxx_personality* symbol for the platform.

Dec 14 2015, 2:03 PM
chenli added a reviewer for D15405: [SelectionDAGBuilder] Adds support for landingpads of token type: rnk.
Dec 14 2015, 11:34 AM

Dec 11 2015

chenli committed rL255415: [X86ISelLowering] Add additional support for multiplication-to-shift conversion..
[X86ISelLowering] Add additional support for multiplication-to-shift conversion.
Dec 11 2015, 5:09 PM
chenli committed rL255395: Revert rL255391: [X86ISelLowering] Add additional support for multiplication….
Revert rL255391: [X86ISelLowering] Add additional support for multiplication…
Dec 11 2015, 4:11 PM
chenli added a reverting change for rL255391: [X86ISelLowering] Add additional support for multiplication-to-shift conversion.: rL255395: Revert rL255391: [X86ISelLowering] Add additional support for multiplication….
Dec 11 2015, 4:11 PM
chenli committed rL255391: [X86ISelLowering] Add additional support for multiplication-to-shift conversion..
[X86ISelLowering] Add additional support for multiplication-to-shift conversion.
Dec 11 2015, 3:42 PM
chenli closed D14603: [X86ISelLowering] Add additional support for multiplication-to-shift conversion..
Dec 11 2015, 3:42 PM
chenli updated the diff for D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

Update patch to make the new enum similar to Unknown in all cases, except that it has landingpads of token types.

Dec 11 2015, 2:21 PM
chenli added a comment to D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

If you don't like adding your runtime's personality to the enum, perhaps we should go back to Chen's original suggestion of just checking the type of the landingpad in SelectionDAG. The reason we started going in this direction instead was "It seems a little backwards to check the landingpad's type as the first check, since the personality dictates the landingpad's type". But maybe it makes sense to allow that much variation within Unknown, since it is after all a bucket for "all the other personalities" -- if we wanted to be pedantic, SelectionDAG could allow either token or struct for Unknown, but require struct for all the known personalities that use landingpads.

Dec 11 2015, 10:05 AM

Dec 10 2015

chenli abandoned D15315: [X86ISelLowering] Replace uint64_t with APInt to prevent overflow .
Dec 10 2015, 10:55 PM
chenli updated the diff for D14603: [X86ISelLowering] Add additional support for multiplication-to-shift conversion..

Add assertions to make sure overflow never happens.

Dec 10 2015, 10:55 PM
chenli added a comment to D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

Ah, ok. That makes sense, though it means that "similar to Unknown, except that LandingPads have token type" isn't exactly correct as a description for Token_LP. Since you're wanting both token-valued landingpads and to opt into isNoOpWithoutInvoke, I wonder if it wouldn't be better to go ahead and be specific about your runtime like the other non-Unknown enum values ... call it AzulJVM or whatever in the enum and use the name of an appropriate function in your runtime as the string. If you want the code in SelectionDAG to be more general, you could add a property like usesTokenLandingPads(EHPersonality Pers) to EHPersonalities.h which returns true for AzulJVM, and have SelectionDAG query through that.

Dec 10 2015, 4:47 PM
chenli added a reviewer for D15405: [SelectionDAGBuilder] Adds support for landingpads of token type: reames.
Dec 10 2015, 10:11 AM
chenli added a comment to D15405: [SelectionDAGBuilder] Adds support for landingpads of token type.

We want the new personality to generally be treated like Unknown, correct? You should check for places in the code that look for EHPersonality::Unknown and make sure they agree for Token_LP. From a quick look, I think you'd want to update isNoOpWithoutInvoke in EHPersonalities.h and isCatchAll in InstructionCombining.cpp.

Dec 10 2015, 9:50 AM
chenli added a comment to D15315: [X86ISelLowering] Replace uint64_t with APInt to prevent overflow .

I applied the patch locally and it worked with 0xFFFFFFFF. However, in practice, neither 0xFFFFFFFF nor 0 will flow into this function because llvm handles them with special cases. For 0, it returns a 0 directly, and for 0xFFFFFFFF, it returns 0 - (the other operand). I've hacked to bypass the special cases in order to test the overflow case could be handled correctly by this code.

Dec 10 2015, 8:50 AM

Dec 9 2015

chenli added a comment to D15315: [X86ISelLowering] Replace uint64_t with APInt to prevent overflow .

I applied the patch locally and it worked with 0xFFFFFFFF. However, in practice, neither 0xFFFFFFFF nor 0 will flow into this function because llvm handles them with special cases. For 0, it returns a 0 directly, and for 0xFFFFFFFF, it returns 0 - (the other operand). I've hacked to bypass the special cases in order to test the overflow case could be handled correctly by this code.

Dec 9 2015, 11:54 PM
chenli added a comment to D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

ping...

Dec 9 2015, 9:48 PM
chenli retitled D15405: [SelectionDAGBuilder] Adds support for landingpads of token type from to [EHPersonality] Add a new personality enum to represent langindPad of token type.
Dec 9 2015, 9:44 PM

Dec 8 2015

chenli added a comment to D15315: [X86ISelLowering] Replace uint64_t with APInt to prevent overflow .

Just to be clear - APInt operators don't prevent or assert on overflow, it just provides *_ov methods that make it easier to recognise when overflow occurs. Please can you confirm that this approach will work for D14603?

Dec 8 2015, 1:56 PM

Dec 7 2015

chenli retitled D15315: [X86ISelLowering] Replace uint64_t with APInt to prevent overflow from to [X86ISelLowering] Replace uint64_t with APInt to prevent overflow .
Dec 7 2015, 3:50 PM

Dec 4 2015

chenli updated subscribers of D15245: Use the inlinehint-threshold for hot callees..
Dec 4 2015, 8:51 PM

Nov 30 2015

chenli added inline comments to D14603: [X86ISelLowering] Add additional support for multiplication-to-shift conversion..
Nov 30 2015, 9:08 PM

Nov 18 2015

chenli added a reviewer for D14603: [X86ISelLowering] Add additional support for multiplication-to-shift conversion.: RKSimon.
Nov 18 2015, 8:25 PM

Nov 11 2015

chenli retitled D14603: [X86ISelLowering] Add additional support for multiplication-to-shift conversion. from to [X86ISelLowering] Add additional support for multiplication-to-shift conversion..
Nov 11 2015, 8:56 PM

Nov 10 2015

chenli updated the diff for D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update patch w.r.t Philip's suggestions.

Nov 10 2015, 4:50 PM
chenli added inline comments to D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Nov 10 2015, 2:51 PM

Nov 6 2015

chenli updated the diff for D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

First, fix the issues mentioned by David.

Nov 6 2015, 11:44 AM

Nov 5 2015

chenli added inline comments to D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Nov 5 2015, 9:50 PM
chenli updated the diff for D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update w.r.t Philip's and David's comments.

Nov 5 2015, 3:18 PM

Nov 3 2015

chenli retitled D14308: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad. from to [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Nov 3 2015, 3:30 PM

Nov 2 2015

chenli committed rL251839: [IndVarSimplify] Rewrite loop exit values with their initial values from loop….
[IndVarSimplify] Rewrite loop exit values with their initial values from loop…
Nov 2 2015, 2:02 PM

Oct 27 2015

chenli committed rL251498: Revert r251492 "[IndVarSimplify] Rewrite loop exit values with their .
Revert r251492 "[IndVarSimplify] Rewrite loop exit values with their
Oct 27 2015, 10:18 PM
chenli committed rL251492: [IndVarSimplify] Rewrite loop exit values with their initial values from loop….
[IndVarSimplify] Rewrite loop exit values with their initial values from loop…
Oct 27 2015, 9:48 PM
chenli closed D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 27 2015, 9:47 PM
chenli added inline comments to D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 27 2015, 11:09 AM
chenli added inline comments to D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 27 2015, 10:51 AM
chenli updated the diff for D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.

Update patch w.r.t Sanjoy's comments.

Oct 27 2015, 12:15 AM

Oct 26 2015

chenli added inline comments to D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 26 2015, 11:25 PM
chenli updated the diff for D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.

Update patch w.r.t Sanjoy's comments.

Oct 26 2015, 9:51 PM
chenli updated the diff for D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Correct test command line options.

Oct 26 2015, 8:51 PM
chenli added inline comments to D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Oct 26 2015, 8:49 PM
chenli updated the diff for D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update the patch so it does not crash bug 25299.

Oct 26 2015, 3:57 PM

Oct 23 2015

chenli committed rL251149: Revert rL251061 [SimplifyCFG] Extend SimplifyResume to handle phi of trivial….
Revert rL251061 [SimplifyCFG] Extend SimplifyResume to handle phi of trivial…
Oct 23 2015, 2:15 PM
chenli added a reverting change for rL251061: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad.: rL251149: Revert rL251061 [SimplifyCFG] Extend SimplifyResume to handle phi of trivial….
Oct 23 2015, 2:15 PM
chenli updated the diff for D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.

Update patch w.r.t Sanjoy's request.

Oct 23 2015, 11:47 AM

Oct 22 2015

chenli committed rL251061: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
[SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad.
Oct 22 2015, 1:50 PM
chenli closed D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Oct 22 2015, 1:50 PM
chenli updated the diff for D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update patch.

Oct 22 2015, 11:17 AM
chenli added inline comments to D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 22 2015, 11:16 AM
chenli added inline comments to D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 22 2015, 1:20 AM
chenli retitled D13974: [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader from to [IndVarSimplify] Rewrite loop exit values with their initial values from loop preheader.
Oct 22 2015, 12:06 AM

Oct 21 2015

chenli added inline comments to D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..
Oct 21 2015, 9:45 PM

Oct 16 2015

chenli updated the diff for D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update patch w.r.t Philip's comments.

Oct 16 2015, 1:46 PM

Oct 15 2015

chenli retitled D13764: [LoopUnswitch] Split unswitch quota based on branch weight from [LoopUnswitch] Spill unswitch quota based on branch weight to [LoopUnswitch] Split unswitch quota based on branch weight.
Oct 15 2015, 8:45 PM
chenli updated the diff for D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

Update patch w.r.t Philip's comments

Oct 15 2015, 12:06 PM

Oct 14 2015

chenli retitled D13764: [LoopUnswitch] Split unswitch quota based on branch weight from to [LoopUnswitch] Spill unswitch quota based on branch weight.
Oct 14 2015, 10:22 PM
chenli committed rL250317: [LoopUnswitch] Correct misleading comments..
[LoopUnswitch] Correct misleading comments.
Oct 14 2015, 12:49 PM
chenli closed D13738: [LoopUnswitch] Correct misleading comments..
Oct 14 2015, 12:49 PM
chenli closed D13738: [LoopUnswitch] Correct misleading comments. by committing rL250317: [LoopUnswitch] Correct misleading comments..
Oct 14 2015, 12:49 PM
chenli added inline comments to D13543: [LVI/CVP] Teach LVI about range metadata.
Oct 14 2015, 12:43 PM
chenli retitled D13738: [LoopUnswitch] Correct misleading comments. from to [LoopUnswitch] Correct misleading comments..
Oct 14 2015, 12:18 PM
chenli added a comment to D13718: [SimplifyCFG] Extend SimplifyResume to handle phi of trivial landing pad..

The general transform looks reasonable, but I'd suggest possibly tackling this a slightly different way. Rather than explicitly doing the detection of a trivial block and rewrite in a single step, replace the branch to the unified resume with a resume and then let the existing code handle it. Doing it this way could make the change less invasive and easier to reason about. Note that this is a suggestion to think about, not a requirement. If you feel the current approach is easier/better, we can run with this after cleanup.

Oct 14 2015, 11:14 AM