Page MenuHomePhabricator
Feed Advanced Search

Feb 12 2019

glider added inline comments to D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.
Feb 12 2019, 7:34 AM

Feb 8 2019

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

Can you add a link to bug 40605 in the commit message?

It's in the title now, doesn't that count? :)

Feb 8 2019, 10:21 AM
glider added a comment to D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.

Re: case when STy != Loc.getElementType() - this is already covered by other Clang tests.

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

Updated the patch: instead of passing around forInit, match the constant type to pointer type.

Feb 8 2019, 9:33 AM
glider added a comment to D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.

Sorry, didn't mean to mark these done.

Feb 8 2019, 2:36 AM
glider added inline comments to D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.
Feb 8 2019, 2:29 AM

Feb 7 2019

glider created D57898: CodeGen: Fix PR40605 by splitting constant struct initializers.
Feb 7 2019, 8:14 AM

Feb 5 2019

Herald added a project to D54604: Automatic variable initialization: Restricted Project.

I think doing separate stores of 0xAA into struct members instead of copying part of .rodata over it will let us do a much better job in optimizing away redundant stores.
I've opened https://bugs.llvm.org/show_bug.cgi?id=40605 to track that.

Feb 5 2019, 5:48 AM · Restricted Project

Jan 29 2019

glider added a comment to D54604: Automatic variable initialization.

(Overall, since this is an "unsupported" feature, is it ok to file Bugzilla bugs for it?)

Jan 29 2019, 8:19 AM · Restricted Project
glider added a comment to D54604: Automatic variable initialization.

Not sure if a similar problem was mentioned already or not, but the following program:

Jan 29 2019, 8:13 AM · Restricted Project

Jan 25 2019

glider updated the diff for D57158: [RFC] [KASAN] Instrument globals.
Jan 25 2019, 8:36 AM
glider retitled D57158: [RFC] [KASAN] Instrument globals from [KASAN] Instrument globals to [RFC] [KASAN] Instrument globals.
Jan 25 2019, 8:35 AM

Jan 24 2019

glider created D57158: [RFC] [KASAN] Instrument globals.
Jan 24 2019, 8:02 AM

Jan 11 2019

glider abandoned D56171: [MSan] add _nosanitize versions for memory intrinsic implementations.

We've decided to abandon this revision, as non-instrumented functions must still unpoison shadow.

Jan 11 2019, 6:57 AM

Jan 3 2019

glider updated the diff for D56172: [MSan] Implement _nosanitize functions in compiler-rt.

Added a test.

Jan 3 2019, 6:53 AM

Dec 31 2018

glider created D56172: [MSan] Implement _nosanitize functions in compiler-rt.
Dec 31 2018, 5:57 AM
glider created D56171: [MSan] add _nosanitize versions for memory intrinsic implementations.
Dec 31 2018, 5:53 AM
glider committed rL350173: [MSan] Handle llvm.is.constant intrinsic.
[MSan] Handle llvm.is.constant intrinsic
Dec 31 2018, 1:46 AM
glider added a comment to D56159: [MSan] Handle llvm.is.constant intrinsic.

Landed r350173, thank you!

Dec 31 2018, 1:46 AM

Dec 30 2018

glider created D56159: [MSan] Handle llvm.is.constant intrinsic.
Dec 30 2018, 4:43 AM

Dec 24 2018

glider added a comment to D55605: [NewPM] Port Msan: Alternative approach using a module to create the global constructor.

A couple of nits.
I also think the newly added classes should be marked as such, not as structs, but YMMV.

Dec 24 2018, 4:54 AM

Dec 20 2018

glider closed D55888: [MSan] Don't emit __msan_instrument_asm_load() calls in conservative assembly handling mode.

Landed r349734, thank you!

Dec 20 2018, 2:09 AM · Restricted Project
glider committed rL349734: [MSan] Don't emit __msan_instrument_asm_load() calls.
[MSan] Don't emit __msan_instrument_asm_load() calls
Dec 20 2018, 2:08 AM

Dec 19 2018

glider created D55888: [MSan] Don't emit __msan_instrument_asm_load() calls in conservative assembly handling mode.
Dec 19 2018, 6:27 AM · Restricted Project

Dec 5 2018

glider added a comment to D54394: [WIP][NewPM] Port msan.

I think I'm missing some context here.
What is the problem you are trying to solve?

Dec 5 2018, 6:25 AM

Dec 3 2018

glider committed rL348112: [KMSAN] Enable -msan-handle-asm-conservative by default.
[KMSAN] Enable -msan-handle-asm-conservative by default
Dec 3 2018, 2:18 AM

Nov 30 2018

glider updated the diff for D55119: [KMSAN] Enable -msan-handle-asm-conservative by default.

Updated the tests. Those were written with userspace instrumentation in mind, which isn't the case anymore.

Nov 30 2018, 7:38 AM
glider created D55119: [KMSAN] Enable -msan-handle-asm-conservative by default.
Nov 30 2018, 4:27 AM

Nov 19 2018

glider abandoned D54473: [sanitizers] Initial implementation for -fsanitize=init-locals.
Nov 19 2018, 8:29 AM

Nov 14 2018

glider added inline comments to D54473: [sanitizers] Initial implementation for -fsanitize=init-locals.
Nov 14 2018, 5:18 AM
glider added a comment to D54473: [sanitizers] Initial implementation for -fsanitize=init-locals.
In D54473#1297460, @kcc wrote:

This new flag inhibits the warnings from -Wuninitialized, right?
While this is fine for experimenting (and I want to have this in ToT to enable wide experimentation)
we should clearly state (in the comments) that the final intent is to make the feature work together with -Wuninitialized.

No, as far as I can see, the warnings from -Wuninitialized are still present (see the test).

Nov 14 2018, 3:44 AM

Nov 13 2018

glider created D54473: [sanitizers] Initial implementation for -fsanitize=init-locals.
Nov 13 2018, 7:16 AM

Oct 31 2018

glider added a comment to D53811: [MSan] another take at instrumenting inline assembly - now with calls.

Landed r345702, thank you!

Oct 31 2018, 2:35 AM
glider committed rL345702: [MSan] another take at instrumenting inline assembly - now with calls.
[MSan] another take at instrumenting inline assembly - now with calls
Oct 31 2018, 2:35 AM

Oct 30 2018

glider updated the diff for D53811: [MSan] another take at instrumenting inline assembly - now with calls.

Removed the check for InsertChecks.

Oct 30 2018, 2:46 AM
glider added inline comments to D53811: [MSan] another take at instrumenting inline assembly - now with calls.
Oct 30 2018, 2:45 AM

Oct 29 2018

glider updated the diff for D53811: [MSan] another take at instrumenting inline assembly - now with calls.

Moved __msan_instrument_asm_store() before the asm call.

Oct 29 2018, 7:34 AM
glider created D53811: [MSan] another take at instrumenting inline assembly - now with calls.
Oct 29 2018, 5:01 AM

Sep 25 2018

glider created D52497: [MSan] Add meaningful debug locations to [K]MSan hooks poisoning local variables.
Sep 25 2018, 7:48 AM

Sep 7 2018

glider committed rL341646: [MSan] don't access MsanCtorFunction when using KMSAN.
[MSan] don't access MsanCtorFunction when using KMSAN
Sep 7 2018, 2:59 AM
glider added a comment to D50442: [MSan] add KMSAN support to Clang driver.

Landed r341641, thank you!

Sep 7 2018, 2:24 AM
glider committed rC341641: [MSan] add KMSAN support to Clang driver.
[MSan] add KMSAN support to Clang driver
Sep 7 2018, 2:23 AM
glider committed rL341641: [MSan] add KMSAN support to Clang driver.
[MSan] add KMSAN support to Clang driver
Sep 7 2018, 2:23 AM
glider committed rCRT341638: [MSan] Define %clang_kmsan for KMSAN tests.
[MSan] Define %clang_kmsan for KMSAN tests
Sep 7 2018, 2:22 AM
glider committed rL341638: [MSan] Define %clang_kmsan for KMSAN tests.
[MSan] Define %clang_kmsan for KMSAN tests
Sep 7 2018, 2:22 AM
glider closed D34451: Add KMSAN instrumentation to MSan pass.

Landed r341637, hope it sticks!

Sep 7 2018, 2:12 AM · Restricted Project
glider committed rL341637: [MSan] Add KMSAN instrumentation to MSan pass.
[MSan] Add KMSAN instrumentation to MSan pass
Sep 7 2018, 2:11 AM

Sep 6 2018

glider committed rCRT341554: [MSan] store origins for variadic function parameters in….
[MSan] store origins for variadic function parameters in…
Sep 6 2018, 8:15 AM
glider committed rL341554: [MSan] store origins for variadic function parameters in….
[MSan] store origins for variadic function parameters in…
Sep 6 2018, 8:15 AM
glider updated the diff for D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

Updated the patch before relanding.
test/msan/vararg.cc doesn't work on Mips, PPC and AArch64 (because this patch doesn't touch them), so I XFAIL these arches.
Also turned out Clang crashed on i80 vararg arguments because of incorrect origin type returned by getOriginPtrForVAArgument().
I've fixed it and added a test.

Sep 6 2018, 8:14 AM · Restricted Project
glider committed rL341541: [MSan] revert r341528 to unbreak the bots.
[MSan] revert r341528 to unbreak the bots
Sep 6 2018, 5:21 AM
glider committed rCRT341541: [MSan] revert r341528 to unbreak the bots.
[MSan] revert r341528 to unbreak the bots
Sep 6 2018, 5:21 AM
glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.

Rebased the CL on top of recent vararg changes

Sep 6 2018, 2:12 AM · Restricted Project
glider committed rCRT341528: [MSan] store origins for variadic function parameters in….
[MSan] store origins for variadic function parameters in…
Sep 6 2018, 1:51 AM
glider committed rL341528: [MSan] store origins for variadic function parameters in….
[MSan] store origins for variadic function parameters in…
Sep 6 2018, 1:51 AM
glider closed D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

Landed r341528.

Sep 6 2018, 1:51 AM · Restricted Project
glider closed D51627: [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls.

Landed r341525, thanks!

Sep 6 2018, 1:26 AM · Restricted Project
glider committed rL341525: [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls.
[MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls
Sep 6 2018, 1:23 AM

Sep 5 2018

glider updated the diff for D51627: [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls.

Skip storing argument shadow instead of asserting, added tests for AArch64, Mips, PPC64

Sep 5 2018, 2:41 AM · Restricted Project

Sep 4 2018

glider updated subscribers of D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

It's right there, in vararg.cc

Sep 4 2018, 10:12 PM · Restricted Project
glider updated the diff for D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

Added the test for overflow area.
The aforementioned problem with too many arguments is handled in https://reviews.llvm.org/D51627

Sep 4 2018, 7:29 AM · Restricted Project
glider updated the diff for D51627: [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls.

Replaced assert() with report_fatal_error(), added a test.

Sep 4 2018, 7:10 AM · Restricted Project
glider created D51627: [MSan] Make sure variadic function arguments do not overflow __msan_va_arg_tls.
Sep 4 2018, 6:33 AM · Restricted Project

Sep 3 2018

glider added a comment to D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

To be precise, calling sum(84, init1, ..., init84, uninit) results in init1 having non-zero shadow in the callee.

Sep 3 2018, 10:04 AM · Restricted Project
glider added inline comments to D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .
Sep 3 2018, 9:58 AM · Restricted Project

Aug 31 2018

glider updated the diff for D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

Added a compiler-rt test, and an IR test for a variadic function

Aug 31 2018, 4:27 AM · Restricted Project
glider added inline comments to D34451: Add KMSAN instrumentation to MSan pass.
Aug 31 2018, 2:27 AM · Restricted Project

Aug 30 2018

glider updated subscribers of D34451: Add KMSAN instrumentation to MSan pass.

Sure, will do.

Aug 30 2018, 11:16 PM · Restricted Project

Aug 29 2018

glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.

Now for realz (pulled the missing bit of va_arg support patch)

Aug 29 2018, 4:42 AM · Restricted Project
glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.

Incorporate https://reviews.llvm.org/D51412 (va_arg origin support in userspace)

Aug 29 2018, 4:21 AM · Restricted Project
glider updated the diff for D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .

Added a TODO

Aug 29 2018, 4:13 AM · Restricted Project
glider created D51412: [MSan] store origins for variadic function parameters in __msan_va_arg_origin_tls .
Aug 29 2018, 4:07 AM · Restricted Project

Aug 10 2018

glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.

Picked r339414, updated the test, PTAL

Aug 10 2018, 1:29 AM · Restricted Project
glider closed D50510: [MSan] Shrink the register save area for non-SSE builds.

Landed r339414, thank you!

Aug 10 2018, 1:07 AM
glider committed rL339414: [MSan] Shrink the register save area for non-SSE builds.
[MSan] Shrink the register save area for non-SSE builds
Aug 10 2018, 1:07 AM

Aug 9 2018

glider updated the diff for D50510: [MSan] Shrink the register save area for non-SSE builds.

Added a comment

Aug 9 2018, 9:49 AM
glider updated the diff for D50510: [MSan] Shrink the register save area for non-SSE builds.
Aug 9 2018, 6:58 AM
glider created D50510: [MSan] Shrink the register save area for non-SSE builds.
Aug 9 2018, 6:58 AM
glider added inline comments to D34451: Add KMSAN instrumentation to MSan pass.
Aug 9 2018, 6:27 AM · Restricted Project
glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.
Aug 9 2018, 6:26 AM · Restricted Project

Aug 8 2018

glider updated the diff for D50442: [MSan] add KMSAN support to Clang driver.

Added tests.

Aug 8 2018, 7:31 AM
glider created D50442: [MSan] add KMSAN support to Clang driver.
Aug 8 2018, 6:00 AM
glider added a comment to D34451: Add KMSAN instrumentation to MSan pass.

Re: value names, there's code in Clang that explicitly overrides discarding them for ASan/MSan builds.

Aug 8 2018, 5:36 AM · Restricted Project
glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.
Aug 8 2018, 4:15 AM · Restricted Project
glider added inline comments to D34451: Add KMSAN instrumentation to MSan pass.
Aug 8 2018, 4:13 AM · Restricted Project

Aug 7 2018

glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.

Rebased to r339138.

Aug 7 2018, 7:25 AM · Restricted Project

Jul 20 2018

glider committed rL337577: [MSan] Hotfix compilation.
[MSan] Hotfix compilation
Jul 20 2018, 9:57 AM
glider added a comment to D49473: [MSan] run materializeChecks() before materializeStores().

Landed r337571, thanks!

Jul 20 2018, 9:34 AM · Restricted Project
glider committed rL337571: [MSan] run materializeChecks() before materializeStores().
[MSan] run materializeChecks() before materializeStores()
Jul 20 2018, 9:34 AM
glider updated the diff for D34451: Add KMSAN instrumentation to MSan pass.

Major update after landing the kernel-inspecific parts.

Jul 20 2018, 9:09 AM · Restricted Project
glider added inline comments to D34451: Add KMSAN instrumentation to MSan pass.
Jul 20 2018, 9:08 AM · Restricted Project
glider updated the diff for D49473: [MSan] run materializeChecks() before materializeStores().

Fixed check_access_address.ll

Jul 20 2018, 2:03 AM · Restricted Project
glider updated the diff for D49473: [MSan] run materializeChecks() before materializeStores().

Updated the patch.

Jul 20 2018, 1:53 AM · Restricted Project

Jul 19 2018

glider updated subscribers of D49473: [MSan] run materializeChecks() before materializeStores().

Yes, looks like this chunk is enough.
I'll finish comparing the results and update the patch tomorrow.

Jul 19 2018, 1:26 PM · Restricted Project
glider added a comment to D49473: [MSan] run materializeChecks() before materializeStores().

Sorry, please disregard the previous comment. It's my patch that breaks this order.

Jul 19 2018, 8:01 AM · Restricted Project
glider added a comment to D49473: [MSan] run materializeChecks() before materializeStores().

I've also noticed that currently MSan instruments loads by placing the checks _after_ them, which is also incorrect.
E.g. for the following function:

int foo(int *v) {
  return *v;
}

the following IR is generated by the trunk compiler with -O2:

Jul 19 2018, 7:41 AM · Restricted Project
glider added a comment to D49473: [MSan] run materializeChecks() before materializeStores().

Could you simply pass the pointer shadow value as an argument to the runtime call in the kernel, and keep userspace instrumentation as it is?

Jul 19 2018, 5:16 AM · Restricted Project
glider updated the diff for D49473: [MSan] run materializeChecks() before materializeStores().

Added a comment

Jul 19 2018, 5:14 AM · Restricted Project
glider updated the diff for D49473: [MSan] run materializeChecks() before materializeStores().

Reverted changes to getShadowOriginPtrUserspace()
Dima noticed that the problem we're trying to solve is essentially inserting two code snippets (one for shadow calculation and one for address check) right before the store to a given address so that the second snippet goes before the first one.
Therefore it's natural to insert the second snippet, and then the first one, i.e. to swap the order of calling materializeStores() and materializeChecks().

Jul 19 2018, 5:12 AM · Restricted Project

Jul 18 2018

glider updated the diff for D49473: [MSan] run materializeChecks() before materializeStores().

Uploaded the full context

Jul 18 2018, 4:05 AM · Restricted Project