Page MenuHomePhabricator
Feed Advanced Search

May 15 2018

filcab accepted D46836: Fix some rtti-options tests.

LGTM

May 15 2018, 6:58 AM

Apr 25 2018

filcab committed rL330829: [llvm-mca] Make ViewOptions static. NFCI.
[llvm-mca] Make ViewOptions static. NFCI
Apr 25 2018, 7:42 AM

Apr 12 2018

filcab accepted D36434: [compiler-rt] Get rid of "%T" expansions.

Hi Kuba,

Apr 12 2018, 2:55 AM · Restricted Project

Feb 12 2018

filcab committed rC324884: ASan+operator new[]: Add an option for more thorough operator new[] cookie….
ASan+operator new[]: Add an option for more thorough operator new[] cookie…
Feb 12 2018, 3:51 AM
filcab committed rL324884: ASan+operator new[]: Add an option for more thorough operator new[] cookie….
ASan+operator new[]: Add an option for more thorough operator new[] cookie…
Feb 12 2018, 3:51 AM
filcab closed D43013: ASan+operator new[]: Fix operator new[] cookie poisoning.
Feb 12 2018, 3:51 AM

Feb 8 2018

filcab updated the summary of D43013: ASan+operator new[]: Fix operator new[] cookie poisoning.
Feb 8 2018, 2:31 AM
filcab updated the summary of D43013: ASan+operator new[]: Fix operator new[] cookie poisoning.
Feb 8 2018, 2:31 AM
filcab updated the diff for D43013: ASan+operator new[]: Fix operator new[] cookie poisoning.

Update commit message.

Feb 8 2018, 2:30 AM
filcab added a comment to D43013: ASan+operator new[]: Fix operator new[] cookie poisoning.

I don't understand why your description of this patch mentions the void* placement new[] operator. There's no cookie to poison for that operator.

Feb 8 2018, 2:25 AM

Feb 7 2018

filcab abandoned D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.

I've posted D43013 to add the flag + behaviour to clang.
Thanks for pointing out the issues,

Feb 7 2018, 4:08 AM
filcab created D43013: ASan+operator new[]: Fix operator new[] cookie poisoning.
Feb 7 2018, 3:18 AM

Jan 15 2018

filcab added a comment to D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.
In D41664#975091, @kcc wrote:

Technically it is. Just like overriding malloc,

That's a weak analogy. You can't override malloc and still use asan with it.

Derp, I forgot the open source version doesn't allow this. No problem.

Jan 15 2018, 10:58 AM

Jan 12 2018

filcab added a comment to D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.
In D41664#973746, @kcc wrote:

Let me rephrase the question.
Is the code in new_array_cookie_with_new_from_class.cc a valid C++?
I.e. is the code allowed to access *reinterpret_cast<uintptr_t*>(Foo::allocated) at line 38?

Technically it is. Just like overriding malloc, saving a pointer to every block, and occasionally reading from those pointers. Both these cases will trigger ASan errors on array cookies (the malloc one will trigger it even without my patch, not on this example, but in other, simpler, ones).

Jan 12 2018, 4:14 AM

Jan 11 2018

filcab added a comment to D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.

BTW, the code around D41301 seem to have always been that way. Which made me unsure if this was a case of "only this got implemented and we never got around to adding the other cases", or if there was an actual problem somewhere.

Jan 11 2018, 9:10 AM
filcab added a comment to D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.

I have small tests on my side, but since it's really only about codegen, I haven't pushed a compiler-rt test (there was no bug to be fixed on compiler-rt's side).
I can change this test to remove that dependency instead of removing it, though.

Jan 11 2018, 9:06 AM

Jan 8 2018

filcab added a comment to D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.

Ping!

Jan 8 2018, 7:52 AM

Jan 2 2018

filcab updated the summary of D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.
Jan 2 2018, 8:12 AM
filcab created D41664: Remove test which assumed array cookies can't be poisoned when using an operator new defined in a class.
Jan 2 2018, 5:57 AM
filcab committed rC321647: Revert "ASan+operator new[]: Fix operator new[] cookie poisoning".
Revert "ASan+operator new[]: Fix operator new[] cookie poisoning"
Jan 2 2018, 5:47 AM
filcab committed rL321647: Revert "ASan+operator new[]: Fix operator new[] cookie poisoning".
Revert "ASan+operator new[]: Fix operator new[] cookie poisoning"
Jan 2 2018, 5:47 AM
filcab committed rC321645: ASan+operator new[]: Fix operator new[] cookie poisoning.
ASan+operator new[]: Fix operator new[] cookie poisoning
Jan 2 2018, 5:23 AM
filcab committed rL321645: ASan+operator new[]: Fix operator new[] cookie poisoning.
ASan+operator new[]: Fix operator new[] cookie poisoning
Jan 2 2018, 5:23 AM
filcab closed D41301: ASan+operator new[]: Fix operator new[] cookie poisoning.
Jan 2 2018, 5:23 AM

Dec 15 2017

filcab created D41301: ASan+operator new[]: Fix operator new[] cookie poisoning.
Dec 15 2017, 9:59 AM
filcab committed rCRT320831: [ubsan-minimal] Add a path for non-POSIX (and bare-metal) use of the library.
[ubsan-minimal] Add a path for non-POSIX (and bare-metal) use of the library
Dec 15 2017, 9:31 AM
filcab committed rL320831: [ubsan-minimal] Add a path for non-POSIX (and bare-metal) use of the library.
[ubsan-minimal] Add a path for non-POSIX (and bare-metal) use of the library
Dec 15 2017, 9:31 AM
filcab closed D39791: [ubsan-minimal] Add a path for non-POSIX (and bare-metal) use of the library.
Dec 15 2017, 9:31 AM

Dec 8 2017

filcab added inline comments to D40948: Switch Clang's default C++ language target to C++14.
Dec 8 2017, 10:03 AM
filcab added inline comments to D40948: Switch Clang's default C++ language target to C++14.
Dec 8 2017, 7:00 AM

Nov 10 2017

filcab added a comment to D39864: Fix for CFI type tests lowering assert. .

Seems ok assuming that construct is safe.

Nov 10 2017, 10:29 AM
filcab added a comment to D39302: Don't internalize dllexport functions..

Ping!

Nov 10 2017, 9:49 AM

Nov 8 2017

filcab created D39791: [ubsan-minimal] Add a path for non-POSIX (and bare-metal) use of the library.
Nov 8 2017, 4:12 AM

Nov 6 2017

filcab added a comment to D39695: [IPO/LowerTypesTest] Skip blockaddress when replacing uses.

Looks good. I’ll ask you to wait a bit and see if @pcc has any objection, though.

Nov 6 2017, 2:38 PM

Oct 26 2017

filcab added a comment to D39302: Don't internalize dllexport functions..

What's the meaning of (old) "norename" in thin LTO? I couldn't track it down, but it seems like it might be helpful. If it's to tell whomever imports the module that that function can't be renamed, then I think dllexported functions should be tagged as such.
I can see a case for allowing an importing module to inline dllexport functions without allowing it to delete the original, though. I'm not sure if norename (now NotEligibleToImport) allows this.

Oct 26 2017, 8:37 AM
filcab added a comment to D39302: Don't internalize dllexport functions..
In D39302#906950, @pcc wrote:

It looks like this will only work for full LTO, and not ThinLTO.

How does your linker decide which symbols are exported from regular object files? Should there instead be a mechanism to get that information from the lto::InputFile?

Oct 26 2017, 3:42 AM

Oct 25 2017

filcab created D39302: Don't internalize dllexport functions..
Oct 25 2017, 12:00 PM

Oct 17 2017

filcab added a comment to D38354: Fix test by using -target instead of cc1 arguments (c-index-test goes through the driver).

Ping!

Oct 17 2017, 11:28 AM
filcab added inline comments to D38546: [ConstantFolding] Avoid assert when folding ptrtoint of vectorized GEP.
Oct 17 2017, 10:53 AM

Oct 16 2017

filcab requested changes to D38546: [ConstantFolding] Avoid assert when folding ptrtoint of vectorized GEP.

Thanks for the patch, but it seems to be trying to paper over another problem instead of fixing it.
I've commented on the specific line where I have concerns.

Oct 16 2017, 11:44 AM

Oct 2 2017

filcab committed rL314659: Use %run for running CFI tests.
Use %run for running CFI tests
Oct 2 2017, 3:23 AM
filcab closed D38412: Use %run for running CFI tests by committing rL314659: Use %run for running CFI tests.
Oct 2 2017, 3:23 AM

Sep 29 2017

filcab created D38412: Use %run for running CFI tests.
Sep 29 2017, 10:11 AM
filcab committed rL314524: Fix Modules/{builtin-import.mm,umbrella-header-include-builtin.mm} to be able….
Fix Modules/{builtin-import.mm,umbrella-header-include-builtin.mm} to be able…
Sep 29 2017, 8:47 AM
filcab closed D38364: Fix Modules/builtin-import.mm to be able to handle non-Darwin targets by committing rL314524: Fix Modules/{builtin-import.mm,umbrella-header-include-builtin.mm} to be able….
Sep 29 2017, 8:47 AM

Sep 28 2017

filcab updated the diff for D38364: Fix Modules/builtin-import.mm to be able to handle non-Darwin targets.

Add umbrella-header-include-builtin.mm too

Sep 28 2017, 8:58 AM
filcab created D38364: Fix Modules/builtin-import.mm to be able to handle non-Darwin targets.
Sep 28 2017, 8:21 AM
filcab created D38354: Fix test by using -target instead of cc1 arguments (c-index-test goes through the driver).
Sep 28 2017, 5:13 AM

Sep 25 2017

filcab added a comment to D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

Patch updated:

  1. Break from the inner loop after we successfully merge (kill) the earlier and later stores.
  2. Add test reduced from PR34074 that was crashing.
Sep 25 2017, 9:55 AM

Aug 4 2017

filcab committed rL310055: [DSE] Merge stores when the later store only writes to memory locations the….
[DSE] Merge stores when the later store only writes to memory locations the…
Aug 4 2017, 5:29 AM
filcab closed D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to. by committing rL310055: [DSE] Merge stores when the later store only writes to memory locations the….
Aug 4 2017, 5:29 AM

Jul 31 2017

filcab updated the diff for D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

Update for newer SynchScope API.
@sanjoy: Any thoughts?

Jul 31 2017, 7:46 AM
filcab accepted D36028: [sanitizer_common] Fuchsia support for interceptors.

LGTM. You might want to remove this from the commit message, though:

Jul 31 2017, 3:50 AM · Restricted Project

Jul 28 2017

filcab added inline comments to D35865: [asan] Complete the Fuchsia port.
Jul 28 2017, 6:11 AM · Restricted Project
filcab added a comment to D35864: [sanitizer_common] Fuchsia port.

Looks good in general, but can't comment much on the OS itself :-)
I have a few changes I'd like to see, though.

Jul 28 2017, 5:27 AM · Restricted Project
filcab requested changes to D35864: [sanitizer_common] Fuchsia port.
Jul 28 2017, 5:26 AM · Restricted Project
filcab added inline comments to D35866: [sanitizer_common] Fuchsia-specific implementation of SanitizerCoverage.
Jul 28 2017, 4:48 AM · Restricted Project

Jul 20 2017

filcab added inline comments to D35553: Define OFF_T as 64-bit integer on NetBSD.
Jul 20 2017, 10:24 AM · Restricted Project
filcab added a comment to D35553: Define OFF_T as 64-bit integer on NetBSD.

Thank you,
Filipe

Jul 20 2017, 9:12 AM · Restricted Project

Jul 19 2017

filcab added a comment to D29013: Add InstCombine/InstructionSimplify support for Freeze Instruction.

LGTM

Jul 19 2017, 10:27 PM · Restricted Project
filcab added a comment to D32047: [Driver] Add support for default UBSan blacklists.

Should we simply not have ubsan_blacklist.txt if it's empty?

Jul 19 2017, 10:13 PM
filcab added inline comments to D34596: [X86]: Adding a new priority function 'guided-src' for Scheduler DAG instruction scheduling..
Jul 19 2017, 10:09 PM
filcab accepted D35492: [DAGCombiner] Match non-uniform constant vectors using predicates (RFC)..

Ugh, implicit truncate/extend strikes again. I keep forgetting about those.
LGTM, I'm ok with the choice in the use of MatchShiftTooBig, but maybe add a tiny comment mentioning you picked the safer option?

Jul 19 2017, 9:58 PM
filcab requested changes to D35551: Add NetBSD support in sanitizer_procmaps_freebsd.cc.

This should be merged with the FreeBSD one. The differences are minor and it looks like you can cover all of them with two or three simple conditional operators or ifs.

Jul 19 2017, 9:47 PM · Restricted Project
filcab added inline comments to D35553: Define OFF_T as 64-bit integer on NetBSD.
Jul 19 2017, 9:40 PM · Restricted Project
filcab added inline comments to D35554: Add NetBSD support in sanitizer_platform_limits_posix.*.
Jul 19 2017, 9:34 PM · Restricted Project
filcab accepted D35628: Add NetBSD support in sanitizer_libignore.cc.

LGTM

Jul 19 2017, 9:11 PM · Restricted Project
filcab accepted D35629: Add NetBSD support in sanitizer_procmaps.h.

LGTM

Jul 19 2017, 9:10 PM · Restricted Project
filcab accepted D35632: Add NetBSD support in sanitizer_procmaps_common.cc.

LGTM

Jul 19 2017, 9:10 PM · Restricted Project

Jul 18 2017

filcab added a comment to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..

Can you rebase this patch, please? Preferably after applying the previous patches that have been accepted.

Jul 18 2017, 6:21 PM · Restricted Project
filcab added inline comments to D35492: [DAGCombiner] Match non-uniform constant vectors using predicates (RFC)..
Jul 18 2017, 5:53 PM
filcab added inline comments to D35554: Add NetBSD support in sanitizer_platform_limits_posix.*.
Jul 18 2017, 5:32 PM · Restricted Project
filcab accepted D35292: [SLPVectorizer] Add propagateIRFlagsWithOp() function to propagate IRFlags for specific Operation.

LGTM

Jul 18 2017, 3:25 PM

Jul 13 2017

filcab added a comment to D35348: Adding all X86 Processor families which can help initializing several uArch properties.

At the very least: This is adding a ton of unused and unneeded details. If we end up needing to dispatch on processor family, then maybe we can add (some of) these.
Otherwise, I don't think it's reasonable to add all these enum values.

Jul 13 2017, 8:05 AM

Jul 12 2017

filcab added a comment to D28907: [SLP] Fix for PR30787: Failure to beneficially vectorize 'copyable' elements in integer binary ops..

Sorry I don't have much to comment yet, but I have some nitpicky comments + (very) small improvement on diff size.

Jul 12 2017, 11:02 AM · Restricted Project
filcab added a comment to D35292: [SLPVectorizer] Add propagateIRFlagsWithOp() function to propagate IRFlags for specific Operation.

I don't get what you want to do here, sorry.
As I see it, in all the uses of propagateIRFlagsWithOp(X, Y, Z), we have Z == Y[0]. Which will end up being *almost* the same as the propagateIRFlags but with the side-effect that Z will also have those flags.
I'm not sure if Z having those flags is on purpose, though. And I don't see what we get from that.

Jul 12 2017, 7:30 AM
filcab added inline comments to D35303: [X86][SSE] Add pre-AVX2 support for (i32 bitcast(v32i1)) -> 2xMOVMSK.
Jul 12 2017, 6:59 AM
filcab requested changes to D35292: [SLPVectorizer] Add propagateIRFlagsWithOp() function to propagate IRFlags for specific Operation.

I haven't reviewed the usages of propagateIRFlagsWithOp, but this really needs test cases. Please add them.

Jul 12 2017, 4:05 AM

Jul 10 2017

filcab added a comment to D35183: Add NetBSD support in sanitizer common.

With recent changes to NetBSD-current, all tests pass.

Testing Time: 5.35s
  Expected Passes    : 261
Jul 10 2017, 9:41 AM · Restricted Project
filcab added a comment to D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

Hi @sanjoy. Can you take a look at the revised changes?

Jul 10 2017, 8:14 AM

Jul 7 2017

filcab added a comment to D35111: Add ubsan/NetBSD/amd64 support.

Can you split interception and sanitizer_common from ubsan patches?
I'd also rather have the sanitizer_common stuff + ninja check-sanitizer working before enabling UBSan, since it'd be easy to split those changes.
I'd also split the interception patches from sanitizer_common unless there's a problem running the tests with only one of those.
When you enable UBSan you might also be able to enable CXX_ABI on NetBSD, assuming it uses the usual Itanium C++abi.

Jul 7 2017, 4:34 AM · Restricted Project

Jul 6 2017

filcab added inline comments to D35032: [sanitizer] Use TASK_VM_INFO to get the maximum VM address on iOS/AArch64.
Jul 6 2017, 5:17 AM · Restricted Project

Jun 30 2017

filcab updated the diff for D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

Address Sanjoy's review comments

Jun 30 2017, 9:49 AM

Jun 26 2017

filcab added a comment to D34299: [ubsan] Improve diagnostics for return value checks (clang).
In D34299#788427, @vsk wrote:

I hope I've cleared this up, but: we need to store the source location constant _somewhere_, before we emit the return value check. That's because we can't infer which return location to use at compile time.

Yes, sorry about that. I was thinking about the code the wrong way around. I'm ok with this patch and how it got in. Sorry for the delay in replying.

Jun 26 2017, 6:35 AM

Jun 22 2017

filcab added a comment to D34299: [ubsan] Improve diagnostics for return value checks (clang).
In D34299#788152, @vsk wrote:

The source locations aren't constants. The ubsan runtime uses a bit inside of source location structures as a flag. When an issue is diagnosed at a particular source location, that bit is atomically set. This is how ubsan implements issue deduplication.

It's still an llvm::Constant. Just like in StaticData, in line 2966.
Basically, I don't see why we need to add the store/load and an additional indirection, since the pointer is constant, and we can just emit the static data as before.
We're already doing Data->Loc.acquire(); for the current version (and all the other checks).

Jun 22 2017, 1:46 PM
filcab added inline comments to D34298: [ubsan] Improve diagnostics for return value checks (compiler-rt).
Jun 22 2017, 1:36 PM
filcab added inline comments to D34298: [ubsan] Improve diagnostics for return value checks (compiler-rt).
Jun 22 2017, 5:35 AM
filcab added a comment to D34299: [ubsan] Improve diagnostics for return value checks (clang).

Splitting the attrloc from the useloc might make sense since we would be able to emit attrloc just once. But I don't see why we need to store/load those pointers in runtime instead of just caching the Constant* in CodeGenFunction.
I'd also like to have some asserts and explicit resets to nullptr after use on the ReturnLocation variable, if possible.

Jun 22 2017, 5:35 AM

Jun 14 2017

filcab added a comment to D34215: [ubsan] Fix IsAccessibleMemoryRange call for VtablePrefix to prevent SIGSEGV..

Test case?

Jun 14 2017, 11:20 AM

Jun 7 2017

filcab committed rL304919: PR33331 - opt-viewer.py produces broken output for directories with spaces.
PR33331 - opt-viewer.py produces broken output for directories with spaces
Jun 7 2017, 7:57 AM

Jun 5 2017

filcab added a comment to D33728: [X86][SSE] Improve handling of non-temporal aligned loads.

LGTM with a minor comment nit (if I'm right).
Code expansion is annoying, but it becomes closer to source semantics.
Thanks!
Filipe

Jun 5 2017, 7:07 AM

Jun 1 2017

filcab added a comment to D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

@sanjoy: Are you ok with the changes I made?

Jun 1 2017, 4:09 AM

May 31 2017

filcab added a comment to D33696: TargetMachine: Indicate whether machine verifier passes..

Should we add TODO comments to all those overrides and state that the errors should be fixed and the overrides (and the function itself, afterwards) be removed?

May 31 2017, 4:21 AM

May 26 2017

filcab added a comment to D33587: [DAGCombine] Do several rounds of combine..

I usually do not work with clang. Do you have instructions I can follow to get that bc file ?

May 26 2017, 7:56 AM · Restricted Project
filcab added a comment to D33587: [DAGCombine] Do several rounds of combine..

As for performance (I assume you meant compile time performance impact) here are the time I get for a test suite run:

Without this patch:

real    2m41.665s
user    26m33.900s
sys     2m44.728s

With this patch:

real    2m42.729s
user    26m45.772s
sys     2m42.796s

It doesn't looks like the impact is that significant and it seems worth it to me.

May 26 2017, 6:06 AM · Restricted Project

May 18 2017

filcab added inline comments to D33305: [ubsan] Add a check for pointer overflow UB.
May 18 2017, 8:34 AM

May 17 2017

filcab added inline comments to D33216: Generate ubsan shared libraries..
May 17 2017, 5:45 AM

May 15 2017

filcab updated the diff for D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

Address Sanjoy's comment and add Synchscope and atomic settings from the original store.

May 15 2017, 10:49 AM

May 10 2017

filcab added a comment to D30703: [DSE] Merge stores when the later store only writes to memory locations the early store also wrote to..

Ping!

May 10 2017, 7:21 AM
filcab added a comment to D32797: [X86] Moving X86Local namespace from .cpp to .h file to use it in memory folding TableGen backend..

I'd put that namespace inside llvm too.

May 10 2017, 7:19 AM