Page MenuHomePhabricator
Feed Advanced Search

Dec 6 2022

scui updated subscribers of D138899: [DAGCombiner] handle more store value forwarding.
Dec 6 2022, 3:55 PM · Restricted Project, Restricted Project

Jun 28 2022

scui added a comment to D128680: [SLP]Fix PR56251: Do not remove the reordering from the root node, being used as an operand..

This also fixed the problem we found in our build. The code looks good. Thanks.

Jun 28 2022, 12:39 PM · Restricted Project, Restricted Project

Jun 23 2022

scui accepted D128287: [GlobalMerge] Ensure that the MustKeepGlobalVariables has all globals from each landingpad clause..

LGTM. Thanks!

Jun 23 2022, 11:47 AM · Restricted Project, Restricted Project

Jun 16 2022

scui accepted D127974: [SLP]Use original vector if need to shuffle truncated root..
Jun 16 2022, 9:57 AM · Restricted Project, Restricted Project
scui added a comment to D127974: [SLP]Use original vector if need to shuffle truncated root..

LGTM. Thanks for the quick fix!

Jun 16 2022, 9:55 AM · Restricted Project, Restricted Project
scui added a comment to D107966: [SLP]Do not emit extract elements for insertelements users, replace with shuffles directly..

Our SPEC build on PowerPC failed due to this patch. Following PR (gd.ll) is extracted from gcc_r build:

Jun 16 2022, 6:36 AM · Restricted Project, Restricted Project

Feb 3 2022

scui abandoned D107574: [GlobalOpt] [MemoryBuiltins] Update getMallocType with bitcast on stored pointer .
Feb 3 2022, 9:15 AM · Restricted Project

Aug 24 2021

scui committed rGcea5ab090b5e: [GlobalOpt] Fix the assert for null check of global value (authored by scui).
[GlobalOpt] Fix the assert for null check of global value
Aug 24 2021, 5:48 PM
scui closed D108674: [GlobalOpt] Fix the assert for null check of global value.
Aug 24 2021, 5:48 PM · Restricted Project
scui requested review of D108674: [GlobalOpt] Fix the assert for null check of global value.
Aug 24 2021, 4:34 PM · Restricted Project

Aug 6 2021

scui updated the diff for D107574: [GlobalOpt] [MemoryBuiltins] Update getMallocType with bitcast on stored pointer .

Rewrite getMallocType - only look at the bitcast feeding into the store (value or pointer) for malloc call, and no longer return nullptr.

Aug 6 2021, 10:02 AM · Restricted Project
scui added a comment to D107574: [GlobalOpt] [MemoryBuiltins] Update getMallocType with bitcast on stored pointer .

It looks to me the IR code will be sub-optimal for some cases if we simply return Type i8* for getMallocType.

Will it? Almost all optimizations can deal with bitcasts of global variables without getting confused.

I could be wrong. One case I can imagine is to set initial value, for example, an i32 value for [4 x i8] global.

Aug 6 2021, 8:29 AM · Restricted Project

Aug 5 2021

scui added a comment to D107574: [GlobalOpt] [MemoryBuiltins] Update getMallocType with bitcast on stored pointer .

If you going to mess with this code, can you just kill off all the malloc use type heuristics, and just unconditionally create an [i8 x n] array? The existing type sniffing code won't work with opaque pointers anyway.

Aug 5 2021, 3:07 PM · Restricted Project
scui requested review of D107574: [GlobalOpt] [MemoryBuiltins] Update getMallocType with bitcast on stored pointer .
Aug 5 2021, 8:16 AM · Restricted Project

Aug 3 2021

scui committed rG2d9759c7902c: [GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc (authored by scui).
[GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc
Aug 3 2021, 4:24 PM
scui closed D107397: [GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc.
Aug 3 2021, 4:23 PM · Restricted Project
scui updated the diff for D107397: [GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc.

To address review comments

Aug 3 2021, 3:19 PM · Restricted Project
scui added inline comments to D107397: [GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc.
Aug 3 2021, 3:11 PM · Restricted Project
scui requested review of D107397: [GlobalOpt] Fix the load types when OptimizeGlobalAddressOfMalloc.
Aug 3 2021, 1:14 PM · Restricted Project

Aug 2 2021

scui added a comment to D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.

This patch caused the following error for me:

error: Explicit load/store type does not match pointee type of pointer operand (Producer: 'LLVMgoogle3-trunk' Reader: 'LLVM google3-trunk')

I'm working on a reduced test case, but it might take a while. If the error sparks any ideas, it would be good to hear them.

Aug 2 2021, 4:32 PM · Restricted Project
scui committed rG7ce98cf56e3e: [GlobalOpt] Fix the assert for stored once non-pointer to global address (authored by scui).
[GlobalOpt] Fix the assert for stored once non-pointer to global address
Aug 2 2021, 4:24 PM
scui closed D107302: [GlobalOpt] Fix the assert for stored once non-pointer to global address.
Aug 2 2021, 4:24 PM · Restricted Project
scui requested review of D107302: [GlobalOpt] Fix the assert for stored once non-pointer to global address.
Aug 2 2021, 12:29 PM · Restricted Project

Jul 31 2021

scui committed rG732b05555c71: [GlobalOpt] support ConstantExpr use of global address for… (authored by scui).
[GlobalOpt] support ConstantExpr use of global address for…
Jul 31 2021, 3:42 PM
scui closed D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 31 2021, 3:42 PM · Restricted Project

Jul 30 2021

scui added inline comments to D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 30 2021, 2:41 PM · Restricted Project
scui added inline comments to D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 30 2021, 1:53 PM · Restricted Project
scui updated the diff for D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.

This is to address comments: (1) fix for the ConstantExpr case in allUsesOfLoadedValueWillTrapIfNull, (2) Consider multiple uses of ConstantExpr for the loop to traverse uses of GV in OptimizeGlobalAddressOfMalloc. The load/store uses are collected in a set first and then loop over the set.

Jul 30 2021, 9:24 AM · Restricted Project
scui added inline comments to D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 30 2021, 8:27 AM · Restricted Project

Jul 23 2021

scui added inline comments to D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 23 2021, 3:21 PM · Restricted Project
scui updated the diff for D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.

This is to address comments: (1) limit the case for ConstantExpr to only bitcast and gep in allUsesOfLoadedValueWillTrapIfNull, (2) change back using while loop to traverse uses of GV in OptimizeGlobalAddressOfMalloc

Jul 23 2021, 3:19 PM · Restricted Project
scui added inline comments to D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 23 2021, 1:34 PM · Restricted Project

Jul 22 2021

scui requested review of D106589: [GlobalOpt] support ConstantExpr use of global address for OptimizeGlobalAddressOfMalloc.
Jul 22 2021, 1:14 PM · Restricted Project
scui committed rGf719dff04396: [AIX] Clang's library integration support for 128-bit long double is incomplete… (authored by anjankgk).
[AIX] Clang's library integration support for 128-bit long double is incomplete…
Jul 22 2021, 12:35 PM
scui closed D106074: [AIX] Clang's library integration support for 128-bit long double is incomplete on AIX..
Jul 22 2021, 12:35 PM · Restricted Project

Jul 20 2021

scui committed rG0b043bb39bf0: This patch extends the OptimizeGlobalAddressOfMalloc to handle the null check… (authored by scui).
This patch extends the OptimizeGlobalAddressOfMalloc to handle the null check…
Jul 20 2021, 9:28 AM
scui closed D102711: [GlobalOpt] Handle null check with global pointer variables.
Jul 20 2021, 9:28 AM · Restricted Project
scui updated the diff for D102711: [GlobalOpt] Handle null check with global pointer variables.

Exclude the signed null checks, and correct the handling of UGE.

Jul 20 2021, 8:51 AM · Restricted Project
scui added inline comments to D102711: [GlobalOpt] Handle null check with global pointer variables.
Jul 20 2021, 7:47 AM · Restricted Project

Jul 19 2021

scui added inline comments to D102711: [GlobalOpt] Handle null check with global pointer variables.
Jul 19 2021, 12:49 PM · Restricted Project

Jul 14 2021

scui added inline comments to D102711: [GlobalOpt] Handle null check with global pointer variables.
Jul 14 2021, 1:19 PM · Restricted Project
scui updated the diff for D102711: [GlobalOpt] Handle null check with global pointer variables.

Add two test cases - one is to test the icmp condition with non-null value, the other is to test the disablement of the sinking of load to the icmp location.

Jul 14 2021, 1:16 PM · Restricted Project

Jun 7 2021

scui added a comment to D102711: [GlobalOpt] Handle null check with global pointer variables.

I'd like to see a little more test coverage, given all the different cases where the behavior of the transform changed.

Jun 7 2021, 8:34 PM · Restricted Project

May 26 2021

scui added inline comments to D102711: [GlobalOpt] Handle null check with global pointer variables.
May 26 2021, 8:23 AM · Restricted Project
scui updated the diff for D102711: [GlobalOpt] Handle null check with global pointer variables.

This to address the review comments: (1) Refine the code to handle ICmpInst when checking if AllUsesOfValueWillTrapIfNull, (2) Consider the GlobalVariable is initialized when creating StoreInst for the global init bool symbol, (3) Remove the unsafe code sinking when transforming the ICmpInst.

May 26 2021, 8:16 AM · Restricted Project

May 18 2021

scui requested review of D102711: [GlobalOpt] Handle null check with global pointer variables.
May 18 2021, 12:16 PM · Restricted Project

Mar 31 2021

scui committed rG00c0c8c87d30: [PowerPC] [MLICM] Enable hoisting of caller preserved registers on AIX (authored by scui).
[PowerPC] [MLICM] Enable hoisting of caller preserved registers on AIX
Mar 31 2021, 9:49 AM
scui closed D99076: [PowerPC] [MachineLICM] Enable hoisting of caller preserved registers on AIX.
Mar 31 2021, 9:49 AM · Restricted Project

Mar 29 2021

scui added a comment to D99076: [PowerPC] [MachineLICM] Enable hoisting of caller preserved registers on AIX.

gentle ping

Mar 29 2021, 6:28 AM · Restricted Project

Mar 22 2021

scui requested review of D99076: [PowerPC] [MachineLICM] Enable hoisting of caller preserved registers on AIX.
Mar 22 2021, 7:29 AM · Restricted Project

Feb 26 2021

scui added inline comments to D96280: [clang][cli] Round-trip the whole CompilerInvocation.
Feb 26 2021, 6:04 AM · Restricted Project

Feb 25 2021

scui added inline comments to D96280: [clang][cli] Round-trip the whole CompilerInvocation.
Feb 25 2021, 2:51 PM · Restricted Project

Jan 22 2021

scui added a comment to D94710: [Analysis] Support AIX vec_malloc routines.

Thanks Roland for the approval. I don't have commit access. Can you help pls to commit this? The author line should be --author="Shimin Cui <scui@ca.ibm.com>".

Jan 22 2021, 10:32 AM · Restricted Project
scui added inline comments to D94710: [Analysis] Support AIX vec_malloc routines.
Jan 22 2021, 7:24 AM · Restricted Project
scui updated the diff for D94710: [Analysis] Support AIX vec_malloc routines.

To Address comments from Roland - fix the comment in def and add missing vec_free in BuildLibCalls.cpp

Jan 22 2021, 7:23 AM · Restricted Project

Jan 21 2021

scui added a comment to D94710: [Analysis] Support AIX vec_malloc routines.

Test case?

Jan 21 2021, 12:45 PM · Restricted Project
scui added a reviewer for D94710: [Analysis] Support AIX vec_malloc routines: RolandF.
Jan 21 2021, 11:28 AM · Restricted Project

Jan 19 2021

scui added a comment to D94710: [Analysis] Support AIX vec_malloc routines.

Thanks Jeeva. I need your help to commit this, I don't have commit access yet. The author line should be --author="Shimin Cui <scui@ca.ibm.com>".

Jan 19 2021, 7:16 AM · Restricted Project

Jan 14 2021

scui added a reviewer for D94710: [Analysis] Support AIX vec_malloc routines: pjeeva01.
Jan 14 2021, 12:26 PM · Restricted Project
scui requested review of D94710: [Analysis] Support AIX vec_malloc routines.
Jan 14 2021, 12:23 PM · Restricted Project

Oct 22 2020

scui added a comment to D88669: [ValueTracking] Add tracking of the alignment assume bundle.

Reverse ping. More comments (nits) and notice that we should merge this, D89830 reimplemented it in the meantime, see my comment there too.

Oct 22 2020, 6:28 AM · Restricted Project
scui updated the diff for D88669: [ValueTracking] Add tracking of the alignment assume bundle.

Updated to address review comments: I adopted the use of Log2_32 from D89830, removed the parenthesis comment, and added a TODO comment in the test case.

Oct 22 2020, 6:25 AM · Restricted Project

Oct 14 2020

scui added inline comments to D88669: [ValueTracking] Add tracking of the alignment assume bundle.
Oct 14 2020, 9:58 AM · Restricted Project
scui updated the diff for D88669: [ValueTracking] Add tracking of the alignment assume bundle.

Rewrite the code using getKnowledgeValidInContext. The code is much cleaner than the previous version, but the result computed is less accurate if the size of the alignment bundle is three. I'll leave the improvement for the future, together with the improvement of value tracking of GEP (an example is that, with the future improvement, we can fold away the branch "br i1 %3, ...") in f2 of the added case assume-align.ll).

Oct 14 2020, 9:54 AM · Restricted Project

Oct 13 2020

scui added a comment to D88669: [ValueTracking] Add tracking of the alignment assume bundle.

What does the third operand of an align bundle mean? It doesn't seem to be documented in LangRef.

Oct 13 2020, 2:06 PM · Restricted Project
scui added a comment to D88669: [ValueTracking] Add tracking of the alignment assume bundle.

Anyone has any comments for this patch? Any comments or suggestions are appreciated.

Oct 13 2020, 8:58 AM · Restricted Project

Oct 9 2020

scui added a comment to D87850: [ConstantFold] Fold the comparison of bitcasted global values .

LGTM

Do you have commit access? If not, I can commit it for you; what should I put in the git "Author" line?

Oct 9 2020, 4:12 PM · Restricted Project

Oct 6 2020

scui edited reviewers for D87850: [ConstantFold] Fold the comparison of bitcasted global values , added: efriedma; removed: eli.friedman.
Oct 6 2020, 11:34 AM · Restricted Project

Oct 5 2020

scui added inline comments to D87850: [ConstantFold] Fold the comparison of bitcasted global values .
Oct 5 2020, 11:39 AM · Restricted Project
scui updated the diff for D87850: [ConstantFold] Fold the comparison of bitcasted global values .

Remove the added extra cases from the existing test files

Oct 5 2020, 11:36 AM · Restricted Project
scui updated the diff for D87850: [ConstantFold] Fold the comparison of bitcasted global values .

Adjust the test cases.

Oct 5 2020, 10:15 AM · Restricted Project
scui added inline comments to D87850: [ConstantFold] Fold the comparison of bitcasted global values .
Oct 5 2020, 10:11 AM · Restricted Project

Oct 2 2020

scui added reviewers for D88669: [ValueTracking] Add tracking of the alignment assume bundle: spatel, eli.friedman.
Oct 2 2020, 11:17 AM · Restricted Project
scui added a reviewer for D88669: [ValueTracking] Add tracking of the alignment assume bundle: nikic.
Oct 2 2020, 11:14 AM · Restricted Project

Oct 1 2020

scui requested review of D88669: [ValueTracking] Add tracking of the alignment assume bundle.
Oct 1 2020, 9:13 AM · Restricted Project

Sep 30 2020

scui added a comment to D87850: [ConstantFold] Fold the comparison of bitcasted global values .

Anyone has any comments for this patch? Any comments or suggestions are appreciated.

Sep 30 2020, 7:47 AM · Restricted Project

Sep 22 2020

scui added reviewers for D87850: [ConstantFold] Fold the comparison of bitcasted global values : pjeeva01, RolandF.
Sep 22 2020, 11:57 AM · Restricted Project

Sep 18 2020

scui updated the diff for D87850: [ConstantFold] Fold the comparison of bitcasted global values .

Fix previous reverion of 2004-11-27-SetCCForCastLargerAndConstant.ll and PR17073.ll

Sep 18 2020, 9:22 AM · Restricted Project
scui updated the diff for D87850: [ConstantFold] Fold the comparison of bitcasted global values .

Revert 2004-11-27-SetCCForCastLargerAndConstant.ll and PR17073.ll

Sep 18 2020, 9:04 AM · Restricted Project

Sep 17 2020

scui requested review of D87850: [ConstantFold] Fold the comparison of bitcasted global values .
Sep 17 2020, 12:24 PM · Restricted Project