Page MenuHomePhabricator

zequanwu (Zequan Wu)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 31 2020, 4:54 PM (9 w, 17 h)

Recent Activity

Yesterday

zequanwu added inline comments to D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Tue, Jun 2, 1:10 PM · Restricted Project
zequanwu committed rG170b6869b563: [Clang] Add a new warning to warn when passing uninitialized variables as const… (authored by zequanwu).
[Clang] Add a new warning to warn when passing uninitialized variables as const…
Tue, Jun 2, 10:26 AM
zequanwu closed D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Tue, Jun 2, 10:26 AM · Restricted Project
zequanwu updated the diff for D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

Rebase and address comments.

Tue, Jun 2, 10:25 AM · Restricted Project

Fri, May 29

zequanwu committed rG80e107ccd088: Add NoMerge MIFlag to avoid MIR branch folding (authored by zequanwu).
Add NoMerge MIFlag to avoid MIR branch folding
Fri, May 29, 1:08 PM
zequanwu closed D79537: Add NoMerge MIFlag to avoid MIR branch folding.
Fri, May 29, 1:07 PM · Restricted Project
zequanwu abandoned D80825: [CodeGen] Add NoMerge MIFlag to avoid MIR branch folding.

duplicate existing diff

Fri, May 29, 12:00 PM · Restricted Project
zequanwu created D80825: [CodeGen] Add NoMerge MIFlag to avoid MIR branch folding.
Fri, May 29, 12:00 PM · Restricted Project

Thu, May 28

zequanwu updated the diff for D80153: [AST] Mangle LambdaContextDecl for top level decl.

Don't mangle ParmVarDecl.

Thu, May 28, 3:25 PM · Restricted Project
zequanwu edited reviewers for D80153: [AST] Mangle LambdaContextDecl for top level decl, added: majnemer; removed: rnk.
Thu, May 28, 3:25 PM · Restricted Project

Wed, May 27

zequanwu added inline comments to D79537: Add NoMerge MIFlag to avoid MIR branch folding.
Wed, May 27, 1:36 PM · Restricted Project
zequanwu updated the diff for D79537: Add NoMerge MIFlag to avoid MIR branch folding.

rebase and address comment.

Wed, May 27, 1:36 PM · Restricted Project

Tue, May 26

zequanwu added a comment to D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

@rsmith Are you okay with this patch?

Tue, May 26, 3:17 PM · Restricted Project
zequanwu added a reviewer for D79537: Add NoMerge MIFlag to avoid MIR branch folding: arsenm.
Tue, May 26, 3:17 PM · Restricted Project
zequanwu updated the diff for D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .

Add 19.20 version. Only add mangled type for version 19. 20 or later to be abi-compatible with https://godbolt.org/z/Bhc__A

Tue, May 26, 3:17 PM · Restricted Project
zequanwu added inline comments to D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .
Tue, May 26, 2:11 PM · Restricted Project
zequanwu updated the summary of D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .
Tue, May 26, 11:25 AM · Restricted Project
zequanwu added inline comments to D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .
Tue, May 26, 10:16 AM · Restricted Project

Mon, May 25

zequanwu updated the diff for D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .
  • Only add mangled type for auto template parameter, whose argument kind is Integral.
  • MSVC mangled name has 1 more letter M before the mangled type, but I don't do it here because I think the M is from mangled qualifier and the function mangleQualifiers is incomplete yet.
Mon, May 25, 3:33 PM · Restricted Project
zequanwu closed D79121: Add nomerge statement attribute to clang.

landed

Mon, May 25, 3:01 PM · Restricted Project

Thu, May 21

zequanwu abandoned D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .
Thu, May 21, 6:57 PM · Restricted Project
zequanwu committed rGe36076ee3a2e: [clang] Add nomerge function attribute to clang Differential Revision: https… (authored by zequanwu).
[clang] Add nomerge function attribute to clang Differential Revision: https…
Thu, May 21, 5:21 PM
zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.

update test case.

Thu, May 21, 5:21 PM · Restricted Project
zequanwu committed rGb0a0f01bc175: Revert "Add nomerge function attribute to clang" (authored by zequanwu).
Revert "Add nomerge function attribute to clang"
Thu, May 21, 4:17 PM
zequanwu added a reverting change for rG307e85395485: Add nomerge function attribute to clang: rGb0a0f01bc175: Revert "Add nomerge function attribute to clang".
Thu, May 21, 4:16 PM
zequanwu committed rG307e85395485: Add nomerge function attribute to clang (authored by zequanwu).
Add nomerge function attribute to clang
Thu, May 21, 3:44 PM
zequanwu created D80409: [MS ABI] Add mangled type for auto template parameter whose argument kind is Integeral .
Thu, May 21, 3:11 PM · Restricted Project
zequanwu updated the diff for D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

rename parameter uses to um

Thu, May 21, 2:38 PM · Restricted Project
zequanwu added inline comments to D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Thu, May 21, 2:38 PM · Restricted Project

Wed, May 20

zequanwu updated the diff for D80153: [AST] Mangle LambdaContextDecl for top level decl.

Check LambdaContextDecl is not ParamVarDecl.

Wed, May 20, 5:07 PM · Restricted Project

Tue, May 19

zequanwu updated the diff for D80153: [AST] Mangle LambdaContextDecl for top level decl.

Update test cases.

Tue, May 19, 2:53 PM · Restricted Project
zequanwu updated the diff for D80153: [AST] Mangle LambdaContextDecl for top level decl.

Remove check for context of LambdaContextDecl.
Update test cases.

Tue, May 19, 2:53 PM · Restricted Project
zequanwu added inline comments to D80153: [AST] Mangle LambdaContextDecl for top level decl.
Tue, May 19, 1:10 PM · Restricted Project
zequanwu added inline comments to D80153: [AST] Mangle LambdaContextDecl for top level decl.
Tue, May 19, 1:10 PM · Restricted Project
zequanwu added a comment to D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

Can you provide some compile time data with warning enabled/disabled?

Tue, May 19, 12:02 PM · Restricted Project
zequanwu added inline comments to D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Tue, May 19, 11:28 AM · Restricted Project
zequanwu updated the diff for D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

Fix typo.
Diagnose self-init warning if the self-init variable is used as const reference later.

Tue, May 19, 11:28 AM · Restricted Project

Mon, May 18

zequanwu updated the diff for D79537: Add NoMerge MIFlag to avoid MIR branch folding.

Change some CHECK to CHECK-NEXT where the call to bar is first instruction in blocks.

Mon, May 18, 5:54 PM · Restricted Project
zequanwu updated the diff for D79537: Add NoMerge MIFlag to avoid MIR branch folding.

Update comment for NoMerge flag

Mon, May 18, 5:22 PM · Restricted Project
zequanwu added inline comments to D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Mon, May 18, 4:50 PM · Restricted Project
zequanwu created D80153: [AST] Mangle LambdaContextDecl for top level decl.
Mon, May 18, 1:00 PM · Restricted Project

Fri, May 15

zequanwu added a comment to D79121: Add nomerge statement attribute to clang.

Ping

Fri, May 15, 3:14 PM · Restricted Project
zequanwu updated the diff for D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

Since the new warning is controlled by -Wuninitialized, I disabled it in existing test case and added a separate test case for -Wuninitialized-const-reference.

Fri, May 15, 11:57 AM · Restricted Project
zequanwu retitled D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function from Fix warning about using uninitialized variable as function const reference parameter to Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Fri, May 15, 11:57 AM · Restricted Project

Thu, May 14

zequanwu updated the diff for D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

Use another mapvector constRefUses to store uninitialized const reference uses so that the new warning can be easily disable by -Wno-initialized-const-reference

Thu, May 14, 5:26 PM · Restricted Project
zequanwu updated the diff for D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.

Add new warning as subgroup of Uninitialized.

Thu, May 14, 1:36 PM · Restricted Project

Wed, May 13

zequanwu added a comment to D79537: Add NoMerge MIFlag to avoid MIR branch folding.
In D79537#2035041, @rnk wrote:

After this lands, can you follow this up by migrating the sanitizer passes to using the attribute instead of using empty inline asm blobs? Send the patch to @vitalybuka. This is the code I'm thinking of:
https://github.com/llvm/llvm-project/blob/028bfdd8913616f7a3e57e8ef5c2a9990e528ff0/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp#L1626
https://github.com/llvm/llvm-project/blob/d6695e18763a05b30cb336c18157175277da8f4b/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp#L864
... and any similar uses.

Run check-asan, check-msan, etc to run the sanitizer integration tests, and confirm that they pass. You can run check-all to run everything and be sure as well.

Wed, May 13, 2:10 PM · Restricted Project
zequanwu added inline comments to D79537: Add NoMerge MIFlag to avoid MIR branch folding.
Wed, May 13, 1:36 PM · Restricted Project
zequanwu updated the diff for D79537: Add NoMerge MIFlag to avoid MIR branch folding.

Zero Initialize NoMerge in CallSiteDbgInfo.
Put Check in addNoMergeSiteInfo to avoid unnecessary hash table insertion.

Wed, May 13, 1:36 PM · Restricted Project
zequanwu created D79895: Add a new warning to warn when passing uninitialized variables as const reference parameters to a function.
Wed, May 13, 11:57 AM · Restricted Project

Tue, May 12

zequanwu committed rG96282b1a0c47: test commit (authored by zequanwu).
test commit
Tue, May 12, 6:53 PM
zequanwu added inline comments to D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Tue, May 12, 1:27 PM · Restricted Project, Restricted Project

Mon, May 11

zequanwu updated the diff for D79537: Add NoMerge MIFlag to avoid MIR branch folding.

Handle nomerge flag in LowerCall at targets AArch64, ARM, PowerPC, RISCV, and add test cases for each target.

Mon, May 11, 5:18 PM · Restricted Project

Fri, May 8

zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.

add nomerge case in CodeExtractor.cpp

Fri, May 8, 4:41 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.

use ConstEvaluatedExprVisitor to recursively looking up for call expr

Fri, May 8, 4:08 PM · Restricted Project
zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.

update comment.

Fri, May 8, 12:52 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.

use ConstStmtVisitor to do recursive lookup for call expression.

Fri, May 8, 11:48 AM · Restricted Project

Wed, May 6

zequanwu updated the diff for D79537: Add NoMerge MIFlag to avoid MIR branch folding.

add testcase

Wed, May 6, 7:20 PM · Restricted Project
zequanwu created D79537: Add NoMerge MIFlag to avoid MIR branch folding.
Wed, May 6, 6:46 PM · Restricted Project

Tue, May 5

zequanwu added inline comments to D79121: Add nomerge statement attribute to clang.
Tue, May 5, 1:30 PM · Restricted Project

Mon, May 4

zequanwu added inline comments to D79121: Add nomerge statement attribute to clang.
Mon, May 4, 5:46 PM · Restricted Project
zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.

To keep it simple, nomerge attribute should not be applied to decl statement. Since label statement calls ProcessDeclAttributeList to handle attributes, label statement should not have nomerge attribute.

Mon, May 4, 5:46 PM · Restricted Project
zequanwu updated the summary of D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Mon, May 4, 4:41 PM · Restricted Project, Restricted Project

May 3 2020

zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.

Add Sema test.
Check if nomerge attribute has no arguments and statement contains call expressions.

May 3 2020, 9:33 AM · Restricted Project

Apr 30 2020

zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.

change nomerge to statement attribute

Apr 30 2020, 5:38 PM · Restricted Project
zequanwu updated the diff for D79121: Add nomerge statement attribute to clang.
Apr 30 2020, 11:15 AM · Restricted Project
zequanwu added inline comments to D79121: Add nomerge statement attribute to clang.
Apr 30 2020, 11:15 AM · Restricted Project

Apr 29 2020

zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Apr 29 2020, 3:39 PM · Restricted Project, Restricted Project
zequanwu created D79121: Add nomerge statement attribute to clang.
Apr 29 2020, 1:27 PM · Restricted Project

Apr 28 2020

zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.

Add test case for preventing hoisting.

Apr 28 2020, 3:07 PM · Restricted Project, Restricted Project
zequanwu added a comment to D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.

Does sinking and hoisting remove the debug source location? I assumed that it wouldn't, but now after all the smooth stepping work, maybe it does.

Yes, both sinking and hoisting in simplifycfg remove the debug source location by Instruction::applyMergedLocation
sinking: https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Utils/SimplifyCFG.cpp#L1646
hoisting: https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/Utils/SimplifyCFG.cpp#L1338

Apr 28 2020, 2:02 PM · Restricted Project, Restricted Project

Apr 27 2020

zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.

Split the the original differential to 2 smaller ones. This one add nomerge function attribute in IR level. Another one will add the attribute to let frontend recognize it.

Apr 27 2020, 7:24 PM · Restricted Project, Restricted Project

Apr 24 2020

zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.

Add check in LICM to prevent sink or hoist on nomerge call

Apr 24 2020, 5:53 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Apr 24 2020, 5:53 PM · Restricted Project, Restricted Project
zequanwu updated the summary of D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Apr 24 2020, 4:48 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Apr 24 2020, 11:20 AM · Restricted Project, Restricted Project

Apr 22 2020

zequanwu added a comment to D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
  1. Tests missing
  2. Why isn't noinline sufficient, why a whole new attribue?
Apr 22 2020, 7:34 PM · Restricted Project, Restricted Project
zequanwu updated the diff for D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Apr 22 2020, 7:34 PM · Restricted Project, Restricted Project
zequanwu created D78659: Add nomerge function attribute to supress tail merge optimization in simplifyCFG.
Apr 22 2020, 11:58 AM · Restricted Project, Restricted Project

Apr 9 2020

zequanwu updated the diff for D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 9 2020, 9:45 AM · Restricted Project
zequanwu added inline comments to D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 9 2020, 9:29 AM · Restricted Project
zequanwu updated the diff for D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 9 2020, 9:24 AM · Restricted Project

Apr 6 2020

zequanwu added inline comments to D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 6 2020, 2:10 PM · Restricted Project
zequanwu updated the diff for D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 6 2020, 2:10 PM · Restricted Project
zequanwu updated the diff for D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 6 2020, 2:10 PM · Restricted Project

Apr 1 2020

zequanwu added inline comments to D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Apr 1 2020, 4:22 PM · Restricted Project

Mar 31 2020

zequanwu created D77188: Fix lifetime call in landingpad blocking Simplifycfg pass.
Mar 31 2020, 6:12 PM · Restricted Project