Page MenuHomePhabricator

glider (Alexander Potapenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2012, 6:28 AM (405 w, 19 h)

Recent Activity

Fri, Jul 17

glider added a comment to D83949: [TSan] Do not compound reads and writes when separated by atomics.

I don't object against dropping it. I had another case in mind, which turned out to be an actual data race, not something that the compiler pulled out of thin air.

Fri, Jul 17, 1:06 AM · Restricted Project

Thu, Jul 16

glider accepted D83867: [TSan] Add option for emitting compound read-write instrumentation.
Thu, Jul 16, 10:11 AM · Restricted Project
glider abandoned D57158: [RFC] [KASAN] Instrument globals.
Thu, Jul 16, 4:48 AM
glider added a comment to D83867: [TSan] Add option for emitting compound read-write instrumentation.

What happens if the load and the store are separated by a barrier atomic load or store? Will they also be combined into a single operation?

Thu, Jul 16, 3:29 AM · Restricted Project

Jun 18 2020

glider added a comment to D81699: MemorySanitizer: Add option to insert init checks at call site.

Wrapping all variables in the existing tests in PartInit<> doesn't look good.
I believe instead of doing this you need to:

  • change existing tests to also run with eager checks, adding expected MSan outputs as needed. Do not scatter PartInit<> across all tests.
  • add more tests that use the partinit attribute to cover new functionality.
Jun 18 2020, 6:29 AM · Restricted Project, Restricted Project

Jun 16 2020

glider added inline comments to D76665: [asan] Stop instrumenting user-defined ELF sections.
Jun 16 2020, 1:04 AM · Restricted Project, Restricted Project

Jun 10 2020

glider accepted D81390: [KernelAddressSanitizer] Make globals constructors compatible with kernel [v2].

LGTM assuming allyesconfig builds.

Jun 10 2020, 4:20 AM · Restricted Project, Restricted Project

Jun 9 2020

glider added inline comments to D81390: [KernelAddressSanitizer] Make globals constructors compatible with kernel [v2].
Jun 9 2020, 7:39 AM · Restricted Project, Restricted Project

Jun 5 2020

glider accepted D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

LGTM

Jun 5 2020, 10:35 AM · Restricted Project, Restricted Project

Jun 2 2020

glider added a comment to D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

Cool, didn't know that; then the change sure looks reasonable.

Jun 2 2020, 10:58 AM · Restricted Project, Restricted Project
glider added a comment to D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

Could you please add an IR test for this?

Was planning to -- sorry, I should have mentioned: before I go add tests, does this look sane to you?

Jun 2 2020, 6:03 AM · Restricted Project, Restricted Project

May 29 2020

glider added a comment to D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

Could you please add an IR test for this?

May 29 2020, 9:12 AM · Restricted Project, Restricted Project

May 28 2020

glider accepted D80668: [Clang][Sanitizers] Expect test failure on {arm,thumb}v7.
May 28 2020, 2:07 AM · Restricted Project
glider added inline comments to D80668: [Clang][Sanitizers] Expect test failure on {arm,thumb}v7.
May 28 2020, 1:35 AM · Restricted Project

Apr 30 2020

glider added a comment to D79133: [scudo] Zero- and pattern-initialization of memory..

Re: calloc behavior, it probably should not return patter-initialized memory even if pattern initialization is enabled.
A lot of code depend on calloc returning zeroes.

Apr 30 2020, 9:35 AM · Restricted Project
glider added a comment to D79133: [scudo] Zero- and pattern-initialization of memory..

Out of curiosity, is there any reason to have pattern initialization for heap?
As security researchers note (see the discussion of stack initialization on cfe-dev), zero-initialization has a smaller probability of making existing bugs exploitable.
On the other hand, there is no downside in making the heap zero-initialized, as library features do not introduce language dialects.

Apr 30 2020, 9:02 AM · Restricted Project
glider committed rGa22685885d19: [AddressSanitizer] Instrument byval call arguments (authored by thejh).
[AddressSanitizer] Instrument byval call arguments
Apr 30 2020, 8:30 AM
glider committed rGcfe36e4c6a66: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction (authored by thejh).
[AddressSanitizer] Refactor: Permit >1 interesting operands per instruction
Apr 30 2020, 8:30 AM
glider closed D77619: [AddressSanitizer] Instrument byval call arguments.
Apr 30 2020, 8:30 AM · Restricted Project
glider committed rGe29996c9a218: [AddressSanitizer] Refactor ClDebug{Min,Max} handling (authored by thejh).
[AddressSanitizer] Refactor ClDebug{Min,Max} handling
Apr 30 2020, 8:30 AM
glider committed rG223a95fdf078: [AddressSanitizer] Split out memory intrinsic handling (authored by thejh).
[AddressSanitizer] Split out memory intrinsic handling
Apr 30 2020, 8:30 AM
glider closed D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.
Apr 30 2020, 8:30 AM · Restricted Project
glider closed D77617: [AddressSanitizer] Split out memory intrinsic handling.
Apr 30 2020, 8:30 AM · Restricted Project
glider closed D77618: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction.
Apr 30 2020, 8:30 AM · Restricted Project
glider updated the diff for D77619: [AddressSanitizer] Instrument byval call arguments.

fix what I broke

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77618: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction.

fix what I broke

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77617: [AddressSanitizer] Split out memory intrinsic handling.

fix what I broke

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

update

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

Trying to fix the state of the things

Apr 30 2020, 7:56 AM · Restricted Project
glider reopened D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.
Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77619: [AddressSanitizer] Instrument byval call arguments.

rebase

Apr 30 2020, 7:56 AM · Restricted Project
glider committed rG7e7754df3249: Revert an accidental commit of four AddressSanitizer refactor CLs (authored by glider).
Revert an accidental commit of four AddressSanitizer refactor CLs
Apr 30 2020, 7:22 AM
glider added a reverting change for rGcfb5f89b62f8: [AddressSanitizer] Refactor ClDebug{Min,Max} handling: rG7e7754df3249: Revert an accidental commit of four AddressSanitizer refactor CLs.
Apr 30 2020, 7:22 AM
glider committed rGcfb5f89b62f8: [AddressSanitizer] Refactor ClDebug{Min,Max} handling (authored by thejh).
[AddressSanitizer] Refactor ClDebug{Min,Max} handling
Apr 30 2020, 6:47 AM
glider closed D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

I've landed this revision. There are some difficulties with the rest, sorting that out.

Apr 30 2020, 6:46 AM · Restricted Project
glider updated the diff for D77619: [AddressSanitizer] Instrument byval call arguments.

Rebase

Apr 30 2020, 6:12 AM · Restricted Project
glider updated the diff for D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

Rebase

Apr 30 2020, 6:12 AM · Restricted Project

Apr 28 2020

glider accepted D77619: [AddressSanitizer] Instrument byval call arguments.
Apr 28 2020, 2:39 AM · Restricted Project

Apr 16 2020

glider accepted D77618: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction.
Apr 16 2020, 7:16 AM · Restricted Project

Apr 15 2020

glider accepted D77617: [AddressSanitizer] Split out memory intrinsic handling.
Apr 15 2020, 8:44 AM · Restricted Project
glider accepted D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.
Apr 15 2020, 8:11 AM · Restricted Project

Apr 12 2020

glider added a comment to D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

I've skimmed through the four patches and they look good. Can you please fix the lint checks?

Apr 12 2020, 2:39 AM · Restricted Project

Mar 26 2020

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.:

Mar 26 2020, 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

Mar 26 2020, 3:45 AM · Restricted Project

Mar 25 2020

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,

Mar 25 2020, 2:40 AM · Restricted Project

Mar 24 2020

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

Hi Nikita,

Mar 24 2020, 8:34 AM · Restricted Project

Mar 3 2020

glider added inline comments to D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Mar 3 2020, 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