trentxintong (Xin Tong)
Software Engineer (Facebook Inc)

Projects

User does not belong to any projects.

User Details

User Since
Jul 17 2015, 4:04 PM (152 w, 6 d)

Recent Activity

Yesterday

trentxintong added a comment to D48181: [JumpThreading] Ignore nil destionation when determining whether a block only goes to a single destination.

Friendly ping.

Thu, Jun 21, 8:19 AM

Mon, Jun 18

trentxintong updated the summary of D48307: [Inliner] Try to inline if some blocks in the callee have address taken, but not used in a meaningful..
Mon, Jun 18, 9:15 PM
trentxintong updated the summary of D48307: [Inliner] Try to inline if some blocks in the callee have address taken, but not used in a meaningful..
Mon, Jun 18, 9:14 PM
trentxintong updated the summary of D48307: [Inliner] Try to inline if some blocks in the callee have address taken, but not used in a meaningful..
Mon, Jun 18, 8:10 PM
trentxintong updated the summary of D48307: [Inliner] Try to inline if some blocks in the callee have address taken, but not used in a meaningful..
Mon, Jun 18, 8:02 PM
trentxintong created D48307: [Inliner] Try to inline if some blocks in the callee have address taken, but not used in a meaningful..
Mon, Jun 18, 7:57 PM
trentxintong committed rL334993: Revert "Simplify blockaddress usage before giving up in….
Revert "Simplify blockaddress usage before giving up in…
Mon, Jun 18, 4:24 PM
trentxintong committed rL334992: Simplify blockaddress usage before giving up in MergeBlockIntoPredecessor.
Simplify blockaddress usage before giving up in MergeBlockIntoPredecessor
Mon, Jun 18, 4:04 PM
trentxintong closed D48284: Simplify blockaddress usage before giving up in MergeBlockIntoPredecessor.
Mon, Jun 18, 4:03 PM
trentxintong updated the diff for D48284: Simplify blockaddress usage before giving up in MergeBlockIntoPredecessor.

Address @asbirlea comments

Mon, Jun 18, 3:50 PM
trentxintong created D48284: Simplify blockaddress usage before giving up in MergeBlockIntoPredecessor.
Mon, Jun 18, 9:20 AM

Sun, Jun 17

trentxintong abandoned D48256: Fix bug to merge away entry block and update DT correctly..

@dmgreen Thanks for the pointer. I think https://reviews.llvm.org/D48202 will define away the problem. I will abandon this patch.

Sun, Jun 17, 1:18 PM
trentxintong added a comment to D48202: Generalize MergeBlockIntoPredecessor. Replace uses of MergeBasicBlockIntoOnlyPred..

I think this makes sense. Except Jumpthreading needs to be modified to make sure iterator is valid after merging. I can work on the jump threading part once this lands and if you do not mind @brzycki.

Sun, Jun 17, 1:17 PM
trentxintong added inline comments to D48256: Fix bug to merge away entry block and update DT correctly..
Sun, Jun 17, 12:38 PM

Sat, Jun 16

trentxintong updated the diff for D48256: Fix bug to merge away entry block and update DT correctly..

Remove some duplicate code.

Sat, Jun 16, 1:45 PM
trentxintong added reviewers for D48256: Fix bug to merge away entry block and update DT correctly.: kuhar, efriedma.
Sat, Jun 16, 1:12 PM
trentxintong updated the diff for D48256: Fix bug to merge away entry block and update DT correctly..

run clang-format

Sat, Jun 16, 1:08 PM
trentxintong created D48256: Fix bug to merge away entry block and update DT correctly..
Sat, Jun 16, 1:07 PM

Thu, Jun 14

trentxintong updated the diff for D48181: [JumpThreading] Ignore nil destionation when determining whether a block only goes to a single destination.

Handle when all destinations are null (i.e. UNDEF value). There is a slight change in pr22086.ll this is due
to we do not run SimplifyInstructionsInBlock after folding (we run after threading).

Thu, Jun 14, 1:20 PM
trentxintong abandoned D48182: [JumpThreading] Make sure UNDEF does not make us think a block can have multiple possible destinations.

I am having some trouble with arc. Created this diff accidentally. Its a duplicate of https://reviews.llvm.org/D48181

Thu, Jun 14, 11:45 AM
trentxintong created D48182: [JumpThreading] Make sure UNDEF does not make us think a block can have multiple possible destinations.
Thu, Jun 14, 11:43 AM
trentxintong created D48181: [JumpThreading] Ignore nil destionation when determining whether a block only goes to a single destination.
Thu, Jun 14, 11:39 AM

Tue, Jun 12

trentxintong added a comment to D47949: [callsitesplit] Limit the # of predecessors walk when recording condition.

@davide @fhahn I am sorry that I cant provide the source code. But one of the cases that resulted in chasing up the chain a lot I can see came from a sequence of object declarations & initializations (constructors which can throw). And they cascaded into a block with 2 predecessors.

Tue, Jun 12, 4:53 PM

Fri, Jun 8

trentxintong added a comment to D47949: [callsitesplit] Limit the # of predecessors walk when recording condition.

Will do.

Fri, Jun 8, 9:27 AM
trentxintong created D47949: [callsitesplit] Limit the # of predecessors walk when recording condition.
Fri, Jun 8, 9:07 AM

May 1 2018

trentxintong added a comment to D46279: [LVI] Remove an assert on case which could happen in LazyValueInfo..

And I think adding an assert to check against queries w.r.t. dominance makes sense.

May 1 2018, 10:22 AM
trentxintong added a comment to D46279: [LVI] Remove an assert on case which could happen in LazyValueInfo..

@dberlin @reames I completely agree with the diagnosis and the proposed solution. Let me fix this.

May 1 2018, 10:12 AM

Apr 30 2018

trentxintong created D46279: [LVI] Remove an assert on case which could happen in LazyValueInfo..
Apr 30 2018, 12:03 PM

Apr 24 2018

trentxintong committed rL330688: [LVI] Fix typo. NFC.
[LVI] Fix typo. NFC
Apr 24 2018, 12:41 AM

Apr 23 2018

trentxintong committed rL330641: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a….
[CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a…
Apr 23 2018, 1:12 PM
trentxintong closed D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..
Apr 23 2018, 1:12 PM
trentxintong updated the diff for D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..

Simplify test. I could not get rid of the inttoptr though.

Apr 23 2018, 1:09 PM

Apr 22 2018

trentxintong added a comment to D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..

Ping. Thanks.

Apr 22 2018, 3:22 PM
trentxintong updated the diff for D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..

Remove empty lines.

Apr 22 2018, 3:22 PM

Apr 17 2018

trentxintong added a comment to D45659: [CallSiteSplitting] Add missing pass dependency.

@davide @fhahn I will take a look!.

Apr 17 2018, 8:35 AM

Apr 14 2018

trentxintong added reviewers for D45659: [CallSiteSplitting] Add missing pass dependency: junbuml, davide, fhahn.
Apr 14 2018, 7:45 PM
trentxintong created D45659: [CallSiteSplitting] Add missing pass dependency.
Apr 14 2018, 7:45 PM

Apr 13 2018

trentxintong added a comment to D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..

Thanks for handling this. Just curious if you see any issue with the non-null attribute in a constant ?

Apr 13 2018, 7:31 AM
trentxintong updated the diff for D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..

Address comments.

Apr 13 2018, 7:31 AM

Apr 12 2018

trentxintong retitled D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant. from [CallSiteSplit] Make sure we remove any non-nullness if the paramater turns out to be a constant, i.e. more constrained than non-null to [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..
Apr 12 2018, 10:08 PM
trentxintong created D45608: [CallSiteSplit] Make sure we remove nonnull if the parameter turns out to be a constant..
Apr 12 2018, 10:04 PM
trentxintong committed rL329987: [CallSiteSplit] Fix comment. NFC.
[CallSiteSplit] Fix comment. NFC
Apr 12 2018, 9:40 PM

Apr 9 2018

trentxintong committed rL329572: [MergeICmp] Update debug msg.NFC.
[MergeICmp] Update debug msg.NFC
Apr 9 2018, 7:32 AM
trentxintong committed rL329564: [MergeICmp] Split blocks that do other work..
[MergeICmp] Split blocks that do other work.
Apr 9 2018, 6:17 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Apr 9 2018, 6:17 AM
trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Address stylistic comments.

Apr 9 2018, 6:17 AM

Apr 8 2018

trentxintong committed rL329530: [LIR] Reorder header. NFC.
[LIR] Reorder header. NFC
Apr 8 2018, 6:24 AM

Apr 6 2018

trentxintong added a comment to D44443: [MergeICmp] Split blocks that do other work..

@courbet Ping. Thanks

Apr 6 2018, 8:19 AM
trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Update checks in a test case.

Apr 6 2018, 8:14 AM
trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Simplify how split instructions are moved.

Apr 6 2018, 8:06 AM

Mar 27 2018

trentxintong committed rL328660: 80-line wrap. NFC.
80-line wrap. NFC
Mar 27 2018, 12:47 PM
trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Update an assert.

Mar 27 2018, 12:43 PM
trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Address comment.

Mar 27 2018, 7:25 AM

Mar 20 2018

trentxintong committed rL327972: [MergeICmps] Break eargerly out of loop.
[MergeICmps] Break eargerly out of loop
Mar 20 2018, 5:06 AM
trentxintong committed rL327971: [MergeICmp] Fix a bug in entry block shuffled to middle of the chain.
[MergeICmp] Fix a bug in entry block shuffled to middle of the chain
Mar 20 2018, 5:02 AM
trentxintong closed D44642: [MergeICmp] Fix a bug in entry block shuffled to middle of the chain.
Mar 20 2018, 5:02 AM

Mar 19 2018

trentxintong created D44642: [MergeICmp] Fix a bug in entry block shuffled to middle of the chain.
Mar 19 2018, 12:32 PM
trentxintong added inline comments to D44443: [MergeICmp] Split blocks that do other work..
Mar 19 2018, 7:32 AM
trentxintong added inline comments to D44443: [MergeICmp] Split blocks that do other work..
Mar 19 2018, 7:06 AM
trentxintong committed rL327838: Stylish change. NFC.
Stylish change. NFC
Mar 19 2018, 6:38 AM
trentxintong added a comment to D44443: [MergeICmp] Split blocks that do other work..

Friendly Ping.

Mar 19 2018, 6:03 AM

Mar 13 2018

trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Update comment in a test

Mar 13 2018, 11:03 AM
trentxintong updated the diff for D44443: [MergeICmp] Split blocks that do other work..

Add a DEBUG msg.

Mar 13 2018, 10:59 AM
trentxintong created D44443: [MergeICmp] Split blocks that do other work..
Mar 13 2018, 10:51 AM

Mar 5 2018

trentxintong committed rL326761: [MergeICmp] Simplify how BCECmpBlock instructions are blacklisted.
[MergeICmp] Simplify how BCECmpBlock instructions are blacklisted
Mar 5 2018, 6:27 PM
trentxintong committed rL326760: [MergeICmp] Fix printing. NFC.
[MergeICmp] Fix printing. NFC
Mar 5 2018, 6:07 PM
trentxintong committed rL326698: [MergeICmp] We can discard initial blocks that do other work.
[MergeICmp] We can discard initial blocks that do other work
Mar 5 2018, 5:57 AM
trentxintong closed D44029: [MergeICmp] We can discard initial blocks that do other work.
Mar 5 2018, 5:57 AM

Mar 2 2018

trentxintong created D44029: [MergeICmp] We can discard initial blocks that do other work.
Mar 2 2018, 10:21 AM

Feb 28 2018

trentxintong committed rL326319: Fix typo. NFC.
Fix typo. NFC
Feb 28 2018, 4:12 AM
trentxintong committed rL326318: [MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed….
[MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed…
Feb 28 2018, 4:11 AM
trentxintong closed D43825: [MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed more than once..
Feb 28 2018, 4:11 AM

Feb 27 2018

trentxintong updated the summary of D43825: [MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed more than once..
Feb 27 2018, 9:39 AM
trentxintong retitled D43825: [MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed more than once. from [MergeICmp] Fix a bug in MergeICmp that can lead to a BCECmp block being processed more than once and eventually lead to a broken LLVM module. to [MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed more than once..
Feb 27 2018, 9:39 AM
trentxintong created D43825: [MergeICmp] Fix a bug in MergeICmp that can lead to a block being processed more than once..
Feb 27 2018, 9:37 AM

Dec 31 2017

trentxintong abandoned D41647: [SimplifyCFG] Improve landing pad merge..

I do not think this is correct. sorry for the noise.

Dec 31 2017, 7:09 AM
trentxintong created D41647: [SimplifyCFG] Improve landing pad merge..
Dec 31 2017, 6:57 AM

Dec 9 2017

trentxintong added a comment to D41050: Fix over-release of return value of lambda implicitly converted to block/function pointer.

@gottesmm can you please take a look ? Thanks.

Dec 9 2017, 1:44 PM
trentxintong added a reviewer for D41050: Fix over-release of return value of lambda implicitly converted to block/function pointer: gottesmm.
Dec 9 2017, 1:43 PM

Oct 8 2017

trentxintong updated the summary of D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed.
Oct 8 2017, 5:11 AM

Oct 7 2017

trentxintong updated the summary of D38670: [MBP] Scheduled blocks have been removed from worklist.
Oct 7 2017, 11:36 PM
trentxintong created D38670: [MBP] Scheduled blocks have been removed from worklist.
Oct 7 2017, 11:35 PM

Oct 5 2017

trentxintong committed rL315032: [MBP] Remove an invalid assert..
[MBP] Remove an invalid assert.
Oct 5 2017, 4:01 PM

Oct 4 2017

trentxintong added a comment to D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed.

A test case?

Oct 4 2017, 2:43 PM
trentxintong committed rL314937: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new….
[MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new…
Oct 4 2017, 2:41 PM
trentxintong closed D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed by committing rL314937: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new….
Oct 4 2017, 2:41 PM
trentxintong updated the summary of D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed.
Oct 4 2017, 2:34 PM
trentxintong created D38563: [MachineBlockPlacement] Make sure PreferredLoopExit is cleared everytime new loop is processed.
Oct 4 2017, 2:33 PM

Sep 30 2017

trentxintong committed rL314615: Fix typo. NFC.
Fix typo. NFC
Sep 30 2017, 5:12 PM
trentxintong committed rL314614: Revert "Fix typo [NFC]".
Revert "Fix typo [NFC]"
Sep 30 2017, 5:11 PM
trentxintong committed rL314613: Fix typo [NFC].
Fix typo [NFC]
Sep 30 2017, 5:09 PM

Jul 21 2017

trentxintong committed rL308772: [DAGCombiner] Update comment. NFC.
[DAGCombiner] Update comment. NFC
Jul 21 2017, 12:11 PM

Jul 17 2017

trentxintong added a comment to D32720: [LICM] Introduce a finer granularity option to compute early exits..

Thanks for the suggestions and review so far. I am in middle of a project. I will put this on hold for a couple of weeks and will come back to it.

Jul 17 2017, 1:30 PM

Jun 30 2017

trentxintong abandoned D34823: [PredicateInfo] Invalidate an OrderedBasicBlock when instruction in it is deleted..

This is no longer necessary as discussed on the list.

Jun 30 2017, 6:14 PM

Jun 29 2017

trentxintong added a comment to D34823: [PredicateInfo] Invalidate an OrderedBasicBlock when instruction in it is deleted..

Without a reason to do this specifically, it seems a waste of time

None of this data is used after initial building, and all of these are destroyed after newgvn ends, so updating them doesn't seem to accomplish anything?

Jun 29 2017, 1:33 PM
trentxintong created D34823: [PredicateInfo] Invalidate an OrderedBasicBlock when instruction in it is deleted..
Jun 29 2017, 11:18 AM
trentxintong committed rL306717: [OrderedInst] Add const to constant parameter. NFCI.
[OrderedInst] Add const to constant parameter. NFCI
Jun 29 2017, 11:05 AM
trentxintong committed rL306712: Remove useless header. NFC.
Remove useless header. NFC
Jun 29 2017, 10:48 AM

Jun 28 2017

trentxintong added a comment to D32720: [LICM] Introduce a finer granularity option to compute early exits..

Thinking about it a bit more, instead of storing a list of instructions which can exit the loop early, you could store a list of basic blocks which are guaranteed to execute, and a mapping from those basic blocks to the first instruction in each basic block which could exit early. That would allow "constant-time" lookups, at the expense of a bit more computation upfront.

I agree it doesn't make sense to try to recompute if an early exit is erased; that should be very rare. (Granted, it might be a little bit more common than it should be: it looks like isGuaranteedToTransferExecutionToSuccessor is missing a few important cases which isInstructionTriviallyDead catches.)

Jun 28 2017, 5:43 PM
trentxintong committed rL306608: Revert "Make OrderedInstructions and OrderedBasicBlock use AssertingVH, to try….
Revert "Make OrderedInstructions and OrderedBasicBlock use AssertingVH, to try…
Jun 28 2017, 3:36 PM