Page MenuHomePhabricator

glider (Alexander Potapenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2012, 6:28 AM (386 w, 1 h)

Recent Activity

Thu, Mar 26

glider added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Yeah, like i said, noinline is insufficient here, and i don't actually
think we currently have the right tool to block any such transform:

Do you think it makes sense to check for noinline before transforming the call into the argument, i.e.:

Thu, Mar 26, 7:00 AM · Restricted Project
glider added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

I'm going to guess __attribute__((no_sanitize())) needs to also imply (read: implicitly add) noinline attribute,
but even that is not sufficient to block inter-procedural optimizations.
See also disscussion in https://reviews.llvm.org/D53431

Thu, Mar 26, 3:45 AM · Restricted Project

Wed, Mar 25

glider updated subscribers of D75815: [InstCombine] Simplify calls with "returned" attribute.

@glider Not quite sure what to do on that front. Inlining here is prevented due to an ABI mismatch,

Wed, Mar 25, 2:40 AM · Restricted Project

Tue, Mar 24

glider added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Hi Nikita,

Tue, Mar 24, 8:34 AM · Restricted Project

Tue, Mar 3

glider added inline comments to D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Tue, Mar 3, 7:46 AM · Restricted Project

Feb 19 2020

glider added a comment to D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).

Hi Florian, Eli et al.,

Feb 19 2020, 10:48 AM · Restricted Project
glider updated subscribers of D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Feb 19 2020, 10:48 AM · Restricted Project
glider created D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Feb 19 2020, 10:48 AM · Restricted Project

Oct 23 2019

glider added a comment to D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

As a data point, Linus Torvalds suggested that we need a similar feature for GCC so that the "kernel C standard" mandates zero-initialization for locals: https://lkml.org/lkml/2019/7/28/206

I'm wondering why they never pushed all the way for a -std=linux-c flag instead, and produced a documentation with the behavior they want with respect to the base C standard they align on.

Oct 23 2019, 8:51 AM · Restricted Project

Oct 21 2019

glider updated subscribers of D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

Adding more people from the original discussion.

Oct 21 2019, 7:38 AM · Restricted Project

Oct 11 2019

glider committed rL374523: Request commit access for glider.
Request commit access for glider
Oct 11 2019, 1:36 AM

Aug 30 2019

glider committed rG57b87322ab4f: [CodeGen]: fix error message for "=r" asm constraint (authored by glider).
[CodeGen]: fix error message for "=r" asm constraint
Aug 30 2019, 2:05 AM
glider committed rL370444: [CodeGen]: fix error message for "=r" asm constraint.
[CodeGen]: fix error message for "=r" asm constraint
Aug 30 2019, 1:58 AM
glider closed D66948: [CodeGen]: fix error message for "=r" asm constraint.
Aug 30 2019, 1:58 AM · Restricted Project, Restricted Project
glider updated the diff for D66948: [CodeGen]: fix error message for "=r" asm constraint.

Minor comment fix.

Aug 30 2019, 1:56 AM · Restricted Project, Restricted Project

Aug 29 2019

glider updated the diff for D66948: [CodeGen]: fix error message for "=r" asm constraint.

clang-format

Aug 29 2019, 8:10 AM · Restricted Project, Restricted Project
glider created D66948: [CodeGen]: fix error message for "=r" asm constraint.
Aug 29 2019, 8:06 AM · Restricted Project, Restricted Project
glider committed rG1b5e38a6c910: [CodeGen]: don't treat structures returned in registers as memory inputs (authored by glider).
[CodeGen]: don't treat structures returned in registers as memory inputs
Aug 29 2019, 4:24 AM
glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Landed r370335, thank you!

Aug 29 2019, 4:24 AM · Restricted Project, Restricted Project
glider committed rL370335: [CodeGen]: don't treat structures returned in registers as memory inputs.
[CodeGen]: don't treat structures returned in registers as memory inputs
Aug 29 2019, 4:20 AM
glider closed D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Aug 29 2019, 4:20 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Rebased the patch

Aug 29 2019, 4:13 AM · Restricted Project, Restricted Project

Aug 26 2019

glider added a comment to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Aug 26 2019, 8:06 AM · Restricted Project, Restricted Project

Aug 7 2019

glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Added test cases for =x, replaced grep with not

Aug 7 2019, 8:53 AM · Restricted Project, Restricted Project
glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

For the "=x" thing I was talking about, try the following testcase:

void a() { struct S { unsigned x[4]; } z; asm volatile("%0":"=x"(z)); }
void a2() { struct S { unsigned x[8]; } z; asm volatile("%0":"=x"(z)); }

clang trunk gives "error: couldn't allocate output register for constraint 'x'" in the backend for both functions. gcc prints "%xmm0" for the first, and rejects the second; not exactly sure why it's rejecting the second, though. It would be nice if both worked, although I guess it's okay if we print a reasonable error message. Please add a testcase, at least.

Aug 7 2019, 8:49 AM · Restricted Project, Restricted Project

Aug 5 2019

glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Eli, any other comments?

Aug 5 2019, 4:03 AM · Restricted Project, Restricted Project

Jul 30 2019

glider added a comment to D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

As a data point, Linus Torvalds suggested that we need a similar feature for GCC so that the "kernel C standard" mandates zero-initialization for locals: https://lkml.org/lkml/2019/7/28/206

Jul 30 2019, 7:04 AM · Restricted Project
glider added a comment to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.

Vitaly, what's the current status of these patches? What's your plan on submitting them?

Jul 30 2019, 2:20 AM · Restricted Project, Restricted Project
glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

+srhines
Heads up: this patch reduces the size of the following Android kernel functions:

Jul 30 2019, 2:14 AM · Restricted Project, Restricted Project
glider added a reviewer for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs: srhines.
Jul 30 2019, 2:12 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Test for =X somehow sneaked in - drop it.

Jul 30 2019, 1:39 AM · Restricted Project, Restricted Project

Jul 29 2019

glider added inline comments to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Jul 29 2019, 7:36 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Addressed Eli's comments, added a test for a packed struct

Jul 29 2019, 7:36 AM · Restricted Project, Restricted Project

Jul 26 2019

glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Make big_struct() test triple-specific

Jul 26 2019, 5:45 AM · Restricted Project, Restricted Project
glider added inline comments to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Jul 26 2019, 5:39 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Fixed comments from Eli and Nick, added tests for unusual struct sizes

Jul 26 2019, 5:36 AM · Restricted Project, Restricted Project

Jul 24 2019

glider added reviewers for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs: eli.friedman, jyknight.
Jul 24 2019, 11:20 AM · Restricted Project, Restricted Project
glider created D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Jul 24 2019, 11:20 AM · Restricted Project, Restricted Project

Jul 16 2019

glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 16 2019, 6:58 AM · Restricted Project, Restricted Project

Jul 15 2019

glider added a reviewer for D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags: jfb.
Jul 15 2019, 7:43 AM · Restricted Project
glider created D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.
Jul 15 2019, 7:38 AM · Restricted Project

Jul 5 2019

glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 5 2019, 10:12 AM · Restricted Project, Restricted Project
glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 5 2019, 6:25 AM · Restricted Project, Restricted Project

Jul 3 2019

glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 3 2019, 3:11 AM · Restricted Project, Restricted Project
glider added a comment to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.

Vitaly, can you please rebase the patch?
As far as I can see, you've submitted parts of it already.
(not that I can't resolve the conflicts locally, but keeping it up-to-date may save others some time)

Jul 3 2019, 3:02 AM · Restricted Project, Restricted Project
glider committed rGf82672873a28: MSan: handle callbr instructions (authored by glider).
MSan: handle callbr instructions
Jul 3 2019, 2:32 AM
glider committed rL365008: MSan: handle callbr instructions.
MSan: handle callbr instructions
Jul 3 2019, 2:29 AM
glider closed D64072: MSan: handle callbr instructions.
Jul 3 2019, 2:29 AM · Restricted Project
glider updated the diff for D64072: MSan: handle callbr instructions.

Fixed the test

Jul 3 2019, 2:23 AM · Restricted Project

Jul 2 2019

glider created D64072: MSan: handle callbr instructions.
Jul 2 2019, 6:13 AM · Restricted Project

May 8 2019

glider added a comment to D61664: [NewPM] Setup Passes for KASan and KMSan.

Rubberstamp LGTM

May 8 2019, 2:51 AM · Restricted Project, Restricted Project
glider accepted D61664: [NewPM] Setup Passes for KASan and KMSan.
May 8 2019, 2:51 AM · Restricted Project, Restricted Project

Apr 30 2019

glider committed rG06d00afa61ee: MSan: handle llvm.lifetime.start intrinsic (authored by glider).
MSan: handle llvm.lifetime.start intrinsic
Apr 30 2019, 1:34 AM
glider committed rL359536: MSan: handle llvm.lifetime.start intrinsic.
MSan: handle llvm.lifetime.start intrinsic
Apr 30 2019, 1:33 AM
glider closed D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 30 2019, 1:33 AM · Restricted Project

Apr 29 2019

glider added a comment to D60617: MSan: handle llvm.lifetime.start intrinsic.

PTAL

Apr 29 2019, 1:04 AM · Restricted Project

Apr 26 2019

glider added inline comments to D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 26 2019, 3:46 AM · Restricted Project
glider updated the diff for D60617: MSan: handle llvm.lifetime.start intrinsic.

Simplified the logic per Evgeniy's request.
No test changes.

Apr 26 2019, 3:40 AM · Restricted Project

Apr 25 2019

glider added a comment to D60617: MSan: handle llvm.lifetime.start intrinsic.

ptal

Apr 25 2019, 2:14 AM · Restricted Project

Apr 24 2019

glider added a comment to D60593: [GwpAsan] Introduce GWP-ASan..

Sorry for a bikeshedding comment, but it had always puzzled me why this is called GWP-ASan.
As I've heard, "GWP-ASan is neither GWP nor ASan", and the word GWP (https://storage.googleapis.com/pub-tools-public-publication-data/pdf/36575.pdf) doesn't even make sense outside Google.
Is it too late already to pick a less cryptic name to avoid confusing the users?

Apr 24 2019, 7:54 AM · Restricted Project, Restricted Project, Restricted Project
glider added inline comments to D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 24 2019, 7:40 AM · Restricted Project
glider updated the diff for D60617: MSan: handle llvm.lifetime.start intrinsic.

Fixed the case when an alloca was initialized twice.

Apr 24 2019, 7:38 AM · Restricted Project

Apr 17 2019

glider added inline comments to D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 17 2019, 2:44 AM · Restricted Project
glider updated the diff for D60617: MSan: handle llvm.lifetime.start intrinsic.

Fixed comments.

Apr 17 2019, 2:41 AM · Restricted Project

Apr 16 2019

glider added a comment to D60617: MSan: handle llvm.lifetime.start intrinsic.

Updated the patch, PTAL.

Apr 16 2019, 4:04 AM · Restricted Project
glider updated the summary of D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 16 2019, 4:01 AM · Restricted Project
glider updated the diff for D60617: MSan: handle llvm.lifetime.start intrinsic.

s/instrumentAllocaKmsan/poisonAllocaKmsan
s/instrumentAllocaUserspace/poisonAllocaUserspace

Apr 16 2019, 4:00 AM · Restricted Project
glider updated the diff for D60617: MSan: handle llvm.lifetime.start intrinsic.

Added a test containing an intrinsic without a known alloca.
Handled this case by falling back to instrumenting only allocas.
Added a flag to disable llvm.lifetime.start handling.

Apr 16 2019, 3:53 AM · Restricted Project

Apr 15 2019

glider added inline comments to D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 15 2019, 10:11 AM · Restricted Project
glider added a comment to D60617: MSan: handle llvm.lifetime.start intrinsic.

Please test the case when alloca can not be found.
See https://bugs.llvm.org/show_bug.cgi?id=41481 for the reference.

Ok, will do. The repro in the bug doesn't produce IR containing a select statement for me, but the idea is clear.

Apr 15 2019, 10:02 AM · Restricted Project
glider added a comment to D60615: [Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC.

This is very similar to GetUnderlyingObject, but it also handles PHIs, has a cache, but does not do InstructionSimplify and does not have a lookup limit.
It would be nice to merge the two.

Ok, noted.

LGTM

Apr 15 2019, 2:11 AM · Restricted Project
glider committed rG6a63e5aa7be6: [Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC (authored by glider).
[Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC
Apr 15 2019, 1:59 AM
glider committed rL358380: [Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC.
[Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC
Apr 15 2019, 1:59 AM
glider closed D60615: [Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC.
Apr 15 2019, 1:59 AM · Restricted Project

Apr 12 2019

glider updated the diff for D60617: MSan: handle llvm.lifetime.start intrinsic.

Removed errs()

Apr 12 2019, 8:37 AM · Restricted Project
glider created D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 12 2019, 7:24 AM · Restricted Project
glider created D60615: [Transforms][ASan] Move findAllocaForValue() to Utils/Local.cpp. NFC.
Apr 12 2019, 7:17 AM · Restricted Project

Mar 4 2019

glider accepted D58885: Variable auto-init: split out small arrays.
Mar 4 2019, 9:43 AM · Restricted Project, Restricted Project
glider added a comment to D58885: Variable auto-init: split out small arrays.

The change itself looks good.
It doesn't seem to regress kernel performance on ARM64. I haven't got to testing on x86 yet, but don't anticipate any problems either.

Mar 4 2019, 9:37 AM · Restricted Project, Restricted Project
glider added inline comments to D58885: Variable auto-init: split out small arrays.
Mar 4 2019, 7:34 AM · Restricted Project, Restricted Project

Mar 1 2019

glider committed rGfa61dddf5dc8: CodeGen: Fix PR40605 by splitting constant struct initializers (authored by glider).
CodeGen: Fix PR40605 by splitting constant struct initializers
Mar 1 2019, 1:03 AM
glider committed rL355181: CodeGen: Fix PR40605 by splitting constant struct initializers.
CodeGen: Fix PR40605 by splitting constant struct initializers
Mar 1 2019, 1:03 AM
glider committed rC355181: CodeGen: Fix PR40605 by splitting constant struct initializers.
CodeGen: Fix PR40605 by splitting constant struct initializers
Mar 1 2019, 1:03 AM
glider closed D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.

Landed r355181, thank you!

Mar 1 2019, 1:03 AM

Feb 28 2019

glider added inline comments to D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.
Feb 28 2019, 2:48 AM
glider updated the diff for D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.
Feb 28 2019, 2:48 AM

Feb 27 2019

glider added a comment to D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.

Rebased the code, updated the tests, added FIXME.

Feb 27 2019, 8:17 AM
glider updated the diff for D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.
Feb 27 2019, 8:16 AM

Feb 26 2019

glider committed rG4f7bc0eee7e6: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init… (authored by glider).
CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init…
Feb 26 2019, 2:46 AM
glider committed rC354861: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init….
CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init…
Feb 26 2019, 2:46 AM
glider closed D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

Landed r354861, thank you!

Feb 26 2019, 2:46 AM
glider committed rL354861: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init….
CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init…
Feb 26 2019, 2:46 AM

Feb 25 2019

glider added a comment to D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

PTAL

Feb 25 2019, 12:12 AM

Feb 21 2019

glider added inline comments to D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.
Feb 21 2019, 4:42 AM
glider updated the diff for D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

Addressed Peter's comments.

Feb 21 2019, 4:41 AM

Feb 20 2019

glider added a comment to D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

@pcc Peter, can you please take a look?

Feb 20 2019, 1:29 AM

Feb 18 2019

glider added a comment to D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

Did you get a chance to compare compile-time numbers? I want to make sure this doesn't regress compile time in any measurable way.

I've compared compile times for the Linux kernel with -j64 (total user time about 20 minutes). The difference is well beyond the noise.

Feb 18 2019, 2:03 AM
glider updated the diff for D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

Fixed JF's comments

Feb 18 2019, 2:03 AM

Feb 15 2019

glider added inline comments to D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.
Feb 15 2019, 6:40 AM
glider updated the diff for D58188: CodeGen: Explicitly initialize structure padding in the -ftrivial-auto-var-init mode.

Updated the diff, PTAL

Feb 15 2019, 6:38 AM