Page MenuHomePhabricator

junparser (JunMa)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 11 2019, 11:18 PM (210 w, 3 d)

Recent Activity

Sun, Mar 12

junparser committed rG00eef4f7c384: [SelectionDAG] Fix mismatched truncate when combine BUILD_VECTOR with… (authored by junparser).
[SelectionDAG] Fix mismatched truncate when combine BUILD_VECTOR with…
Sun, Mar 12, 6:00 PM · Restricted Project, Restricted Project
junparser closed D145757: [SelectionDAG] Fix mismatched truncate when combine BUILD_VECTOR with EXTRACT_SUBVECTOR.
Sun, Mar 12, 6:00 PM · Restricted Project, Restricted Project

Thu, Mar 9

junparser requested review of D145757: [SelectionDAG] Fix mismatched truncate when combine BUILD_VECTOR with EXTRACT_SUBVECTOR.
Thu, Mar 9, 5:22 PM · Restricted Project, Restricted Project

Wed, Mar 1

junparser committed rG403926aefefb: [WebAssembly] Skip implied bitmask operation in LowerShift (authored by junparser).
[WebAssembly] Skip implied bitmask operation in LowerShift
Wed, Mar 1, 5:38 PM · Restricted Project, Restricted Project
junparser closed D144619: [WebAssembly] Skip implied bitmask operation in LowerShift.
Wed, Mar 1, 5:38 PM · Restricted Project, Restricted Project

Tue, Feb 28

junparser updated the diff for D144619: [WebAssembly] Skip implied bitmask operation in LowerShift.

Address comments.

Tue, Feb 28, 6:41 PM · Restricted Project, Restricted Project
junparser added inline comments to D144619: [WebAssembly] Skip implied bitmask operation in LowerShift.
Tue, Feb 28, 6:29 PM · Restricted Project, Restricted Project

Mon, Feb 27

junparser added a comment to D144619: [WebAssembly] Skip implied bitmask operation in LowerShift.

@tlively kindly ping~

Mon, Feb 27, 6:02 PM · Restricted Project, Restricted Project

Thu, Feb 23

junparser added inline comments to D141926: [WebAssembly] Add passes for GEP lowering.
Thu, Feb 23, 3:17 AM · Restricted Project, Restricted Project

Wed, Feb 22

junparser updated the diff for D144619: [WebAssembly] Skip implied bitmask operation in LowerShift.

Minor change with comment

Wed, Feb 22, 11:56 PM · Restricted Project, Restricted Project
junparser requested review of D144619: [WebAssembly] Skip implied bitmask operation in LowerShift.
Wed, Feb 22, 11:52 PM · Restricted Project, Restricted Project

Feb 21 2023

junparser committed rGe9d7f96a11ba: [WebAssembly] Add more combine pattern for vector shift (authored by junparser).
[WebAssembly] Add more combine pattern for vector shift
Feb 21 2023, 5:59 PM · Restricted Project, Restricted Project
junparser closed D144360: [WebAssembly] Add more combine pattern for vector shift.
Feb 21 2023, 5:59 PM · Restricted Project, Restricted Project
junparser added inline comments to D144445: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment.
Feb 21 2023, 4:38 AM · Restricted Project, Restricted Project

Feb 20 2023

junparser added a comment to D144445: [AggressiveInstCombine] folding load for constant global patterened arrays and structs by alignment.

Also, please take care of compiler time regression.

Feb 20 2023, 11:51 PM · Restricted Project, Restricted Project

Feb 19 2023

junparser requested review of D144360: [WebAssembly] Add more combine pattern for vector shift.
Feb 19 2023, 10:07 PM · Restricted Project, Restricted Project

Feb 16 2023

junparser committed rGf253bb640d97: [WebAssembly] Fix simd bit shift intrinsics codegen (authored by junparser).
[WebAssembly] Fix simd bit shift intrinsics codegen
Feb 16 2023, 5:18 PM · Restricted Project, Restricted Project
junparser committed rGe073de833671: [WebAssembly] Update wasm.c with update_cc_test_checks.py. NFC (authored by junparser).
[WebAssembly] Update wasm.c with update_cc_test_checks.py. NFC
Feb 16 2023, 5:18 PM · Restricted Project, Restricted Project
junparser closed D144169: [WebAssembly] Fix simd bit shift intrinsics codegen.
Feb 16 2023, 5:18 PM · Restricted Project, Restricted Project
junparser updated the diff for D144169: [WebAssembly] Fix simd bit shift intrinsics codegen.

Replace rem with bitmask operation

Feb 16 2023, 2:09 AM · Restricted Project, Restricted Project
junparser added reviewers for D144169: [WebAssembly] Fix simd bit shift intrinsics codegen: asb, tlively, aheejin, dschuff.
Feb 16 2023, 1:28 AM · Restricted Project, Restricted Project
junparser requested review of D144169: [WebAssembly] Fix simd bit shift intrinsics codegen.
Feb 16 2023, 1:25 AM · Restricted Project, Restricted Project

Apr 23 2022

junparser committed rGc0022b4bb12d: [InlineCost] Set LastCallToStaticBonus in ML inlining models. (authored by junparser).
[InlineCost] Set LastCallToStaticBonus in ML inlining models.
Apr 23 2022, 6:34 PM · Restricted Project, Restricted Project
junparser closed D124233: [InlineCost] Set LastCallToStaticBonus in ML inlining models..
Apr 23 2022, 6:34 PM · Restricted Project, Restricted Project

Apr 22 2022

junparser requested review of D124233: [InlineCost] Set LastCallToStaticBonus in ML inlining models..
Apr 22 2022, 12:16 AM · Restricted Project, Restricted Project

Feb 15 2022

junparser added inline comments to D117087: [C++20] [Coroutines] Implement return value optimization for get_return_object.
Feb 15 2022, 6:25 PM · Restricted Project, Restricted Project
junparser added inline comments to D117087: [C++20] [Coroutines] Implement return value optimization for get_return_object.
Feb 15 2022, 3:49 AM · Restricted Project, Restricted Project
junparser accepted D117087: [C++20] [Coroutines] Implement return value optimization for get_return_object.

LGTM. Thanks!

Feb 15 2022, 12:01 AM · Restricted Project, Restricted Project

Feb 13 2022

junparser accepted D119541: [RISCV] Fix RISCVTargetInfo::initFeatureMap, add non-ISA features back after implication.

LGTM, thanks for the fix.

Feb 13 2022, 6:16 PM · Restricted Project, Restricted Project

Feb 11 2022

junparser added a comment to D113336: [RISCV] Imply extensions in RISCVTargetInfo::initFeatureMap.

@eopXD, hi, this patch make us lost +relax and -save-restore by default, would you please fix it?

Feb 11 2022, 3:55 AM · Restricted Project, Restricted Project

Jan 11 2022

junparser accepted D116330: [Coroutines] Handle lifetime markers, bitcast and unused instruciton for symmetric transfer.

LGTM with some comments.

Jan 11 2022, 11:25 PM · Restricted Project

Jan 10 2022

junparser added a comment to D116327: [Coroutines] Enhance symmetric transfer for constant CmpInst.

This is general LGTM with some comments

Jan 10 2022, 7:59 PM · Restricted Project

Jan 5 2022

junparser committed rG80e56ad9ae90: [TTI] Return invalid cost for scalable vector in getShuffleCost (authored by junparser).
[TTI] Return invalid cost for scalable vector in getShuffleCost
Jan 5 2022, 3:00 AM
junparser closed D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.
Jan 5 2022, 2:59 AM · Restricted Project

Jan 4 2022

junparser updated the diff for D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

address comment.

Jan 4 2022, 9:22 PM · Restricted Project

Jan 3 2022

junparser updated the diff for D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

update testcase.

Jan 3 2022, 7:52 PM · Restricted Project
junparser updated the diff for D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

address paul's comment.

Jan 3 2022, 7:15 PM · Restricted Project
junparser added inline comments to D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.
Jan 3 2022, 7:12 PM · Restricted Project

Dec 30 2021

junparser updated the diff for D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

address comments. Set invalid cost for scalable vector broadcast.

Dec 30 2021, 5:07 PM · Restricted Project
junparser added a comment to D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

This looks like it would treat the default cost of a broadcast as scalarising the first n elements from a <vscale x n x iM> vector, which doesn't sound right. Unless we are assuming that the default vscale is 1.

Yes, This patch keeps same behavior as before (release mode).

Dec 30 2021, 4:38 PM · Restricted Project
junparser added inline comments to D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.
Dec 30 2021, 4:22 PM · Restricted Project

Dec 29 2021

junparser updated the diff for D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

Add testcase in cost model.

Dec 29 2021, 7:45 PM · Restricted Project
junparser added inline comments to D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.
Dec 29 2021, 7:39 PM · Restricted Project
junparser added a comment to D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.

It's fine to have a vectorizer test, but it would be better to have a more direct test of the cost model itself.

I think something like this can check for the crash (we could add variations to see if the cost is actually accurate - see /llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll for an existing test model):

; RUN: opt -cost-model -analyze -mtriple=riscv64 -mattr=+m,+experimental-v -scalable-vectorization=on  < %s | FileCheck %s

define void @broadcast() {
  %zero = shufflevector <vscale x 16 x i8> undef, <vscale x 16 x i8> undef, <vscale x 16 x i32> zeroinitializer
  ret void
}
Dec 29 2021, 6:54 PM · Restricted Project

Dec 28 2021

junparser requested review of D116362: [TTI] Support ScalableVectorType in getShuffleCost with SK_Broadcast kind.
Dec 28 2021, 11:31 PM · Restricted Project

Nov 23 2021

junparser added a reverting change for rG1f9fa549841a: [Taildup] Don't tail-duplicate loop header with multiple successors as its…: rG17eb6b61de4b: Revert "[Taildup] Don't tail-duplicate loop header with multiple successors as….
Nov 23 2021, 6:27 PM
junparser added a reverting change for rGc93f93b2e3f2: Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when…: rG07333810caee: Revert "Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default….
Nov 23 2021, 6:27 PM
junparser committed rG07333810caee: Revert "Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default… (authored by junparser).
Revert "Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default…
Nov 23 2021, 6:27 PM
junparser committed rG17eb6b61de4b: Revert "[Taildup] Don't tail-duplicate loop header with multiple successors as… (authored by junparser).
Revert "[Taildup] Don't tail-duplicate loop header with multiple successors as…
Nov 23 2021, 6:27 PM
junparser added a reverting change for D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches: rG17eb6b61de4b: Revert "[Taildup] Don't tail-duplicate loop header with multiple successors as….
Nov 23 2021, 6:27 PM · Restricted Project
junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

As reported in https://reviews.llvm.org/rGc93f93b2e3f28997f794265089fb8138dd5b5f13, we should implement a more general way to avoid adding quadratic edges in CFGs.

Nov 23 2021, 6:26 PM · Restricted Project
junparser added a comment to rGc93f93b2e3f2: Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when….

Looks a more general way should be implemented in tailduplicator to avoid adding quadratic edges in CFGs.

Nov 23 2021, 5:53 PM

Nov 1 2021

junparser accepted D111418: [GVN] Simple GVNHoist - limits.

LGTM

Nov 1 2021, 8:39 PM · Restricted Project, Restricted Project
junparser closed D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..
Nov 1 2021, 12:35 AM · Restricted Project
junparser committed rG1f9fa549841a: [Taildup] Don't tail-duplicate loop header with multiple successors as its… (authored by junparser).
[Taildup] Don't tail-duplicate loop header with multiple successors as its…
Nov 1 2021, 12:33 AM
junparser committed rGf8833ba1ed96: [TailDup] Add testcase for interpreter switch loop, NFC. (authored by junparser).
[TailDup] Add testcase for interpreter switch loop, NFC.
Nov 1 2021, 12:33 AM
junparser added a reverting change for rG3a998c06a8e9: Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch…: rGc93f93b2e3f2: Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when….
Nov 1 2021, 12:33 AM
junparser committed rGc93f93b2e3f2: Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when… (authored by junparser).
Revert "Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when…
Nov 1 2021, 12:33 AM
junparser closed D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.
Nov 1 2021, 12:33 AM · Restricted Project
junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

Do we have any benchmark on python, I think I can have a perf test with them before land this.

We don't have it in test-suite yet. In test-suite, we have SingleSource/Benchmarks/Misc/evalloop.c and MultiSource/Benchmarks/TSVC for computed-goto.

Nov 1 2021, 12:10 AM · Restricted Project

Oct 31 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

LGTM, let's land it first to unblock https://reviews.llvm.org/D106056. But one thing to notice, number of python's opcode is larger than 128. If this patch affects python's perf, I think we should seek another adequate default value.

Oct 31 2021, 8:17 PM · Restricted Project

Oct 28 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

Hi @lkail, since the value 128 can fix the ut, can we land this first, and then change this value if we have to. is it ok?

Oct 28 2021, 8:39 PM · Restricted Project
junparser added a reviewer for D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches: lkail.
Oct 28 2021, 8:37 PM · Restricted Project

Oct 25 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

ping

Oct 25 2021, 6:36 PM · Restricted Project

Oct 20 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

I agree we should add limitation to such pattern of CFG. If not, quadratic number of edges are added to CFG and hurt compile-time, especially when there are 1K+ cases. The setting of tail-dup-jmptable-loop-size might be related to BTB or BTAC, of which I'm not an expert. But for now, we don't want to regress protobuf's compile-time, value of 128 need @alexfh 's confirm.

Oct 20 2021, 1:48 AM · Restricted Project

Oct 12 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

@alexfh kindly ping~

Oct 12 2021, 7:51 PM · Restricted Project

Oct 11 2021

junparser added inline comments to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.
Oct 11 2021, 7:59 PM · Restricted Project
junparser updated the diff for D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

address comments.

Oct 11 2021, 7:59 PM · Restricted Project
junparser added a comment to D111418: [GVN] Simple GVNHoist - limits.

Would it better use some parameter from GVNHoist? Also I do think maybe the default value is too large.

Oct 11 2021, 3:19 AM · Restricted Project, Restricted Project
junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

@lkail @MatzeB any suggestion with the parameter value 128?

From the perf data pasted by @alexfh in https://reviews.llvm.org/D106056, the compile time regression occurs in MachineBlockPlacement when CFG becomes complex. I think we should fix the issue there, i.e., fix the O(n^2) iteration by(There are multiple such usages, listed one)

It's not only MachineBlockPlacement pass, we saw Eliminate PHI and Control flow pass also cost much more time. with the ir file i attached above, it shows

Oct 11 2021, 2:41 AM · Restricted Project

Oct 8 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

IIUC, switching this pattern off might lose some optimization commonly seen in interpreter, e.g., https://eli.thegreenplace.net/2012/07/12/computed-goto-for-efficient-dispatch-tables. Do you have any benchmark numbers?

Hi, thanks for the reminder!
I tested the change with spec cpu2017, and there was no performance change. I also tested the case in https://eli.thegreenplace.net/2012/07/12/computed-goto-for-efficient-dispatch-tables, and I add it int tesetcase as well. This patch has no effect on most of the interpreter switch loop.

However, i test the case offered by @alexfh based on D106056 and w/o this change, it show 1x performance gains without the change. The reduced case is large_loop_switch in testcase.

The root reason is that llvm optimizer usually does not change unused default case into unreachable before D106056. The interpreter switch loop also keeps this branch when transform to jumptable, The loop form become to :

//                  
//              / <---------/ / /
//          0-> 1->  2  -> 3  / /            
//              \      \  -> 4 /              
//                \      \ -> 5             
//                  \---> default

the default bb can not tail duplicate into loop header. With D106056, the unreachable default bb is removed, then taildup can help to transform switch loop into dispatch table.

Oct 8 2021, 11:39 PM · Restricted Project
junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

So this change blocks optimization from D106056, @alexfh would you like to workaround with -mllvm -tail-dup-indirect-size=4?

I found a single huge protobuf generated source that was pushed over the time limit. However, there are likely many others that will just take more time to compile wasting resources and potentially increasing build latency. Having to hunt down all of them and to sprinkle -mllvm -tail-dup-indirect-size=4 all around the build configuration files would be unfortunate.

Or let add one more parameter such as -tail-dup-jmptable-size with default value maybe 100?
any suggest?

Would that stop this particular transformation for large switch cases? Should this always be done?

Oct 8 2021, 11:34 PM · Restricted Project
junparser updated the diff for D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

Add one parameter. @alexfh could you have a try with this patch?

Oct 8 2021, 11:32 PM · Restricted Project

Sep 28 2021

junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

So this change blocks optimization from D106056, @alexfh would you like to workaround with -mllvm -tail-dup-indirect-size=4?

Sep 28 2021, 8:38 PM · Restricted Project
junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

IIUC, switching this pattern off might lose some optimization commonly seen in interpreter, e.g., https://eli.thegreenplace.net/2012/07/12/computed-goto-for-efficient-dispatch-tables. Do you have any benchmark numbers?

Sep 28 2021, 8:37 PM · Restricted Project
junparser updated the diff for D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

Add testcase diff between this change.

Sep 28 2021, 8:02 PM · Restricted Project
junparser added a comment to D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.

reduced bc file.

Sep 28 2021, 2:20 AM · Restricted Project
junparser requested review of D110613: [Taildup] Don't tail-duplicate loop header with multiple successors as its latches.
Sep 28 2021, 2:11 AM · Restricted Project

Sep 27 2021

junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

@alexfh Turns out it was caused by EarlyTailDuplicatePass, would you try with -mllvm -disable-early-taildup=true?

Sep 27 2021, 6:16 AM · Restricted Project
junparser added a reverting change for rG8ba2adcf9e54: Recommit "Revert "[CVP] processSwitch: Remove default case when switch cover…: rG3a998c06a8e9: Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch….
Sep 27 2021, 5:47 AM
junparser committed rG3a998c06a8e9: Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch… (authored by junparser).
Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch…
Sep 27 2021, 5:47 AM
junparser reopened D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..
Sep 27 2021, 5:47 AM · Restricted Project
junparser added a reverting change for D106056: [CVP] processSwitch: Remove default case when switch cover all possible values.: rG3a998c06a8e9: Revert "Recommit "Revert "[CVP] processSwitch: Remove default case when switch….
Sep 27 2021, 5:47 AM · Restricted Project
junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

We'd appreciate a prompt fix or a workaround. If neither is possible, please revert the commit while working on a proper solution.

Well, it is not "common" code, switch 1000 cases. But easy fix is probably to introduce some reasonable limit when to bail out.

switch 1000 cases is not the issue, use loop induction variable as condition is. It cause LVI recursive call SolveBlockValue.

@xbolva00 I was wrong. The compiler time regression is caused by CodeGen Passes rather than CVP or LVI.

This conclusion corresponds with the profile in my earlier comment (e.g. this line: 80.96% (anonymous namespace)::MachineBlockPlacement::buildLoopChains).

Sep 27 2021, 5:44 AM · Restricted Project
junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

We'd appreciate a prompt fix or a workaround. If neither is possible, please revert the commit while working on a proper solution.

Well, it is not "common" code, switch 1000 cases. But easy fix is probably to introduce some reasonable limit when to bail out.

We'd appreciate a prompt fix or a workaround. If neither is possible, please revert the commit while working on a proper solution.

Well, it is not "common" code, switch 1000 cases. But easy fix is probably to introduce some reasonable limit when to bail out.

switch 1000 cases is not the issue, use loop induction variable as condition is. It cause LVI recursive call SolveBlockValue.

Sep 27 2021, 3:57 AM · Restricted Project
junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

I've hit this issue in Jumpthreading pass. Maybe we should add one parameter for LVI::solve

Sep 27 2021, 2:16 AM · Restricted Project
junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

We'd appreciate a prompt fix or a workaround. If neither is possible, please revert the commit while working on a proper solution.

Well, it is not "common" code, switch 1000 cases. But easy fix is probably to introduce some reasonable limit when to bail out.

Sep 27 2021, 2:14 AM · Restricted Project
junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

We'd appreciate a prompt fix or a workaround. If neither is possible, please revert the commit while working on a proper solution.

Sep 27 2021, 1:42 AM · Restricted Project

Sep 25 2021

junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

FYI, we see a ~5x increase in compile time on some of our code (mainly on some large protobuf-generated files) after rG8ba2adcf9e54b34ba8efa73ac0d81a1192e4f614. We're working on an isolated test case.

With switches with the huge number of cases?

Sep 25 2021, 7:44 PM · Restricted Project

Sep 16 2021

junparser added a comment to D109760: [GVN] Simple GVN hoist.

I believe the latest issues with gvnhoist were regressions, what about to take a look at this pass again and possibly enable (some “obviously” profitable) parts of gvnhoist again?

Did you run spec benchmarks with trunk+gvnhoist?

I did and indeed I got even better speedup, but with -O2 -mllvm -enable-gvnhoist. With -O3 there was no improvement (and maybe a regression) (due to unrolling, see thread on the mailing list).

Sep 16 2021, 12:03 AM · Restricted Project

Sep 15 2021

junparser added inline comments to D109760: [GVN] Simple GVN hoist.
Sep 15 2021, 11:52 PM · Restricted Project

Sep 14 2021

junparser added a comment to D109760: [GVN] Simple GVN hoist.

As for mcf, I guess it may casued by large register pressure due to hoist some expression from some huge successor. So simple cost model is necessary.

Sep 14 2021, 8:19 PM · Restricted Project
junparser added a comment to D109760: [GVN] Simple GVN hoist.

I believe the latest issues with gvnhoist were regressions, what about to take a look at this pass again and possibly enable (some “obviously” profitable) parts of gvnhoist again?

Did you run spec benchmarks with trunk+gvnhoist?

Sep 14 2021, 8:01 PM · Restricted Project
junparser added a comment to D109760: [GVN] Simple GVN hoist.

Thanks for your patch!

Sep 14 2021, 7:57 PM · Restricted Project
junparser added reviewers for D109760: [GVN] Simple GVN hoist: reames, SjoerdMeijer.
Sep 14 2021, 7:33 PM · Restricted Project

Sep 9 2021

junparser committed rG8ba2adcf9e54: Recommit "Revert "[CVP] processSwitch: Remove default case when switch cover… (authored by junparser).
Recommit "Revert "[CVP] processSwitch: Remove default case when switch cover…
Sep 9 2021, 1:54 AM
junparser closed D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..
Sep 9 2021, 1:53 AM · Restricted Project

Sep 8 2021

junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

@spatel ok for relanding?

Sep 8 2021, 7:26 PM · Restricted Project

Aug 30 2021

junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

Hi @junparser , thank you kindly for helping us look into this; even building and booting kernels locally! Right now, we're chasing multiple regressions (https://github.com/ClangBuiltLinux/linux/issues/1438, https://github.com/ClangBuiltLinux/linux/issues/325#issuecomment-885197956, and this) with the first currently marked a clang-13 release blocker. Unless this patch fixes a regression marked as blocking the clang-13 release, can you please extend your generosity and patience so that we have another week to sort those out and revisit this?

Aug 30 2021, 7:11 PM · Restricted Project

Aug 29 2021

junparser added a comment to D106056: [CVP] processSwitch: Remove default case when switch cover all possible values..

@nathanchance @nickdesaulniers, any update?

Aug 29 2021, 7:28 PM · Restricted Project