Page MenuHomePhabricator

courbet (Clement Courbet)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 24 2016, 3:59 AM (326 w, 6 d)

Recent Activity

Today

courbet added inline comments to D128807: [clang][transformer] Finish plumbing `Note` all the way to the output..
Thu, Jun 30, 12:46 AM · Restricted Project, Restricted Project, Restricted Project
courbet requested review of D128887: [clang][transformer] Fix crash on replacement-less ASTEdit..
Thu, Jun 30, 12:45 AM · Restricted Project, Restricted Project, Restricted Project

Yesterday

courbet accepted D128809: [libc][test] Remove dependency on sstream in algorithm_test.cpp.
Wed, Jun 29, 6:40 AM · Restricted Project, Restricted Project
courbet updated the summary of D128807: [clang][transformer] Finish plumbing `Note` all the way to the output..
Wed, Jun 29, 5:12 AM · Restricted Project, Restricted Project, Restricted Project
courbet updated the diff for D128807: [clang][transformer] Finish plumbing `Note` all the way to the output..

Format patch

Wed, Jun 29, 5:11 AM · Restricted Project, Restricted Project, Restricted Project
courbet requested review of D128807: [clang][transformer] Finish plumbing `Note` all the way to the output..
Wed, Jun 29, 5:09 AM · Restricted Project, Restricted Project, Restricted Project

Tue, Jun 28

courbet accepted D128089: [InstCombine] Fold strncmp of constant arrays and variable size.

I'm not sure I understand the concern but my impression is that we're debating the difference between the following two equivalent forms of the loop

Tue, Jun 28, 7:50 AM · Restricted Project, Restricted Project
courbet accepted D128335: [libc][mem*] Introduce Algorithms for new mem framework.
Tue, Jun 28, 2:19 AM · Restricted Project, Restricted Project

Mon, Jun 27

courbet added inline comments to D128335: [libc][mem*] Introduce Algorithms for new mem framework.
Mon, Jun 27, 2:16 AM · Restricted Project, Restricted Project
courbet added inline comments to D128335: [libc][mem*] Introduce Algorithms for new mem framework.
Mon, Jun 27, 2:08 AM · Restricted Project, Restricted Project

Fri, Jun 24

courbet accepted D128514: [Build][NFC] Fixes for building on Windows with libc++.

LGTM for llvm-exegesis.

Fri, Jun 24, 4:14 AM · Restricted Project, Restricted Project

Thu, Jun 23

courbet added inline comments to D128335: [libc][mem*] Introduce Algorithms for new mem framework.
Thu, Jun 23, 7:00 AM · Restricted Project, Restricted Project
courbet added a comment to D128335: [libc][mem*] Introduce Algorithms for new mem framework.

First comments: statically sized operations.

Thu, Jun 23, 6:50 AM · Restricted Project, Restricted Project
courbet added inline comments to D128089: [InstCombine] Fold strncmp of constant arrays and variable size.
Thu, Jun 23, 6:30 AM · Restricted Project, Restricted Project

Mon, Jun 20

courbet accepted D128169: [Alignment] Use 'previous()' method instead of scalar division.
Mon, Jun 20, 3:30 AM · Restricted Project, Restricted Project
courbet accepted D128121: [NFC][Alignment] Remove max functions between Align and MaybeAlign.
Mon, Jun 20, 12:55 AM · Restricted Project, Restricted Project

Sun, Jun 19

courbet added inline comments to D128121: [NFC][Alignment] Remove max functions between Align and MaybeAlign.
Sun, Jun 19, 10:50 PM · Restricted Project, Restricted Project

Fri, Jun 17

courbet accepted D128051: [libc] Rely on __builtin_memcpy_inline for memcpy implementation.
Fri, Jun 17, 6:53 AM · Restricted Project, Restricted Project

Thu, Jun 16

courbet added a comment to D127842: [RuntimeDyld][RISCV] Minimal riscv64 support.

@courbet Are you the right person to talk to about the llvm-exegesis tool? Can it be moved over to ORC/JITLink?

Thu, Jun 16, 1:43 AM · Restricted Project, Restricted Project

Wed, Jun 15

courbet accepted D127766: [InstCombine] Fold memcmp of constant arrays and variable size.
Wed, Jun 15, 11:23 PM · Restricted Project, Restricted Project
courbet added a comment to D56593: [SelectionDAG][RFC] Allow the user to specify a memeq function (v5)..

@courbet Any followup as we have got "'__memcmpeq" ?

I was under the impression that bcmp was redirecting to __memcmpeq when the latter was available. Isn't that sufficient ?

It is not.

This was rejected for the same reasons the bcmp optimizations where rejected. bcmp is not standardized and since
glibc has been maintaining it as a true memcmp (that can be used for sort), there is not reason for users to not have
begun to rely on that behavior.

Wed, Jun 15, 8:32 AM · Restricted Project, Restricted Project
courbet accepted D126768: [libc][mem*] Introduce Sized/Backends for new mem framework.
Wed, Jun 15, 6:30 AM · Restricted Project, Restricted Project
courbet added inline comments to D127766: [InstCombine] Fold memcmp of constant arrays and variable size.
Wed, Jun 15, 12:10 AM · Restricted Project, Restricted Project

Tue, Jun 14

courbet added a comment to D56593: [SelectionDAG][RFC] Allow the user to specify a memeq function (v5)..

@courbet Any followup as we have got "'__memcmpeq" ?

Tue, Jun 14, 11:37 PM · Restricted Project, Restricted Project

Fri, Jun 10

courbet accepted D126903: [clang] Add support for __builtin_memset_inline.
Fri, Jun 10, 6:01 AM · Restricted Project, Restricted Project, Restricted Project
courbet added inline comments to D126903: [clang] Add support for __builtin_memset_inline.
Fri, Jun 10, 5:34 AM · Restricted Project, Restricted Project, Restricted Project

Wed, Jun 8

courbet accepted D127279: [SelectionDAG] Handle bzero/memset libcalls globally instead of per target.
Wed, Jun 8, 6:12 AM · Restricted Project, Restricted Project
courbet added inline comments to D127279: [SelectionDAG] Handle bzero/memset libcalls globally instead of per target.
Wed, Jun 8, 5:11 AM · Restricted Project, Restricted Project
courbet added inline comments to D127279: [SelectionDAG] Handle bzero/memset libcalls globally instead of per target.
Wed, Jun 8, 5:09 AM · Restricted Project, Restricted Project
courbet requested changes to D127279: [SelectionDAG] Handle bzero/memset libcalls globally instead of per target.
Wed, Jun 8, 4:43 AM · Restricted Project, Restricted Project
courbet accepted D127279: [SelectionDAG] Handle bzero/memset libcalls globally instead of per target.
Wed, Jun 8, 3:47 AM · Restricted Project, Restricted Project
courbet added a comment to D127279: [SelectionDAG] Handle bzero/memset libcalls globally instead of per target.

In general I think this makes a lot more sense.

Wed, Jun 8, 3:47 AM · Restricted Project, Restricted Project

Tue, Jun 7

courbet accepted D126910: [Alignment][NFC] Remove usage of MemSDNode::getAlignment.
Tue, Jun 7, 6:11 AM · Restricted Project, Restricted Project

Fri, Jun 3

courbet added inline comments to D126768: [libc][mem*] Introduce Sized/Backends for new mem framework.
Fri, Jun 3, 5:43 AM · Restricted Project, Restricted Project
courbet added inline comments to D126903: [clang] Add support for __builtin_memset_inline.
Fri, Jun 3, 2:04 AM · Restricted Project, Restricted Project, Restricted Project
courbet added inline comments to D126910: [Alignment][NFC] Remove usage of MemSDNode::getAlignment.
Fri, Jun 3, 1:01 AM · Restricted Project, Restricted Project

Thu, Jun 2

courbet added inline comments to D126768: [libc][mem*] Introduce Sized/Backends for new mem framework.
Thu, Jun 2, 5:32 AM · Restricted Project, Restricted Project

Wed, Jun 1

courbet added a comment to D124092: CodeGen: Remove MaxBytesForAlignment from MachineBasicBlock.

I'm not sure I understand. Why do you think that MaxBytesForAlignment isn't a per-basic-block parameter? Any aligned block can have a MaxBytesForAlignment, and they could all be different from one block to the next, just as alignments can change.

Wed, Jun 1, 7:05 AM · Restricted Project, Restricted Project
courbet added inline comments to D126768: [libc][mem*] Introduce Sized/Backends for new mem framework.
Wed, Jun 1, 7:01 AM · Restricted Project, Restricted Project
courbet accepted D124092: CodeGen: Remove MaxBytesForAlignment from MachineBasicBlock.
Wed, Jun 1, 6:54 AM · Restricted Project, Restricted Project
courbet added a comment to D126768: [libc][mem*] Introduce Sized/Backends for new mem framework.

As a very high level, design comment, I would like to note that I think we should strive to get into a state where the lowering of a SizedOp is done via a instrinsic call for all operation type (right now, this is only the case for memcpy).

Wed, Jun 1, 5:12 AM · Restricted Project, Restricted Project

Tue, May 31

courbet accepted D125966: [libc][mem*] Address facility + test enum support.
Tue, May 31, 5:36 AM · Restricted Project, Restricted Project
courbet added inline comments to D125966: [libc][mem*] Address facility + test enum support.
Tue, May 31, 1:43 AM · Restricted Project, Restricted Project

May 19 2022

courbet added inline comments to D125966: [libc][mem*] Address facility + test enum support.
May 19 2022, 4:55 AM · Restricted Project, Restricted Project

Apr 15 2022

courbet committed rG46a13a0ef847: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern. (authored by courbet).
[ExpandMemCmp] Properly expand `bcmp` to an equality pattern.
Apr 15 2022, 2:34 AM · Restricted Project, Restricted Project
courbet closed D123849: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern..
Apr 15 2022, 2:33 AM · Restricted Project, Restricted Project
courbet updated the diff for D123849: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern..

Update llc tests too.

Apr 15 2022, 2:26 AM · Restricted Project, Restricted Project
courbet updated subscribers of D123849: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern..
Apr 15 2022, 2:18 AM · Restricted Project, Restricted Project
courbet added a reviewer for D123849: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern.: gchatelet.
Apr 15 2022, 2:18 AM · Restricted Project, Restricted Project
courbet updated the diff for D123849: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern..

Rebase on base test.

Apr 15 2022, 2:17 AM · Restricted Project, Restricted Project
courbet committed rG866bd4df4777: [NFC] Add test in preparation for D123849. (authored by courbet).
[NFC] Add test in preparation for D123849.
Apr 15 2022, 2:16 AM · Restricted Project, Restricted Project
courbet requested review of D123849: [ExpandMemCmp] Properly expand `bcmp` to an equality pattern..
Apr 15 2022, 2:14 AM · Restricted Project, Restricted Project

Mar 10 2022

courbet requested review of D121365: [CFG] Fix crash on CFG building when deriving from a template..
Mar 10 2022, 2:33 AM · Restricted Project, Restricted Project

Feb 17 2022

courbet added inline comments to D120062: [libc][automemcpy] Discard aggrated samples from JSON.
Feb 17 2022, 8:32 AM · Restricted Project
courbet accepted D120037: [llvm][automemcpy] Allow distribution filtering in analysis.
Feb 17 2022, 4:56 AM · Restricted Project
courbet accepted D120040: [libc][automemcpy] Introduce geomean of scores as a tie breaker.
Feb 17 2022, 4:33 AM · Restricted Project
courbet accepted D120037: [llvm][automemcpy] Allow distribution filtering in analysis.
Feb 17 2022, 4:31 AM · Restricted Project
courbet accepted D120031: [libc][automemcpy] Add mean/variance and simplify implementation.
Feb 17 2022, 3:50 AM · Restricted Project

Feb 8 2022

courbet committed rG90d2291fbb4a: [NFC] Fix comment. (authored by courbet).
[NFC] Fix comment.
Feb 8 2022, 12:44 AM

Feb 2 2022

courbet accepted D118770: [NFC][libc] Remove unneeded gtest and benchmark configuration.
Feb 2 2022, 4:20 AM · Restricted Project

Jan 5 2022

courbet committed rGed8ff29aa683: [clang-tidy] Fix false positive in modernize-pass-by-value (authored by courbet).
[clang-tidy] Fix false positive in modernize-pass-by-value
Jan 5 2022, 5:34 AM
courbet closed D116535: [clang-tidy] Fix false positive in modernize-pass-by-value.
Jan 5 2022, 5:34 AM · Restricted Project
courbet updated the diff for D116535: [clang-tidy] Fix false positive in modernize-pass-by-value.

Address review comments.

Jan 5 2022, 5:25 AM · Restricted Project
courbet added a comment to D116535: [clang-tidy] Fix false positive in modernize-pass-by-value.

Thanks.

Jan 5 2022, 5:25 AM · Restricted Project

Jan 3 2022

courbet requested review of D116535: [clang-tidy] Fix false positive in modernize-pass-by-value.
Jan 3 2022, 5:46 AM · Restricted Project

Dec 20 2021

courbet added inline comments to D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..
Dec 20 2021, 4:38 AM · Restricted Project
courbet updated the diff for D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

Try to get rid of "dependent and not a pointer" checks checks.

Dec 20 2021, 4:37 AM · Restricted Project

Dec 10 2021

courbet added inline comments to D115274: [IR][RFC] Memory region declaration intrinsic.
Dec 10 2021, 1:14 AM · Restricted Project, Restricted Project

Dec 8 2021

courbet added inline comments to D115274: [IR][RFC] Memory region declaration intrinsic.
Dec 8 2021, 4:07 AM · Restricted Project, Restricted Project

Dec 7 2021

courbet added inline comments to D115274: [IR][RFC] Memory region declaration intrinsic.
Dec 7 2021, 11:51 PM · Restricted Project, Restricted Project

Dec 5 2021

courbet added a comment to D114988: [IR] `GetElementPtrInst`: per-index `inrange` support.
Dec 5 2021, 11:03 PM · Restricted Project, Restricted Project

Dec 3 2021

courbet added inline comments to D114590: [CodeGen] Emit alignment "Max Skip" operand for align directives.
Dec 3 2021, 12:28 AM · Restricted Project
courbet added a comment to D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

ping

Dec 3 2021, 12:23 AM · Restricted Project

Nov 25 2021

courbet accepted D114105: [clang-tidy] Ignore narrowing conversions in case of bitfields.
Nov 25 2021, 4:47 AM · Restricted Project
courbet accepted D114105: [clang-tidy] Ignore narrowing conversions in case of bitfields.
Nov 25 2021, 1:44 AM · Restricted Project
courbet added a comment to D114105: [clang-tidy] Ignore narrowing conversions in case of bitfields.

Yes, I think the new approach is what we want. The comments also make it much clearer.

Nov 25 2021, 1:44 AM · Restricted Project
courbet updated the diff for D114539: [clang-tidy] performance-unnecessary-copy-initialization: handle pointer containers..

address comment

Nov 25 2021, 1:28 AM · Restricted Project
courbet updated the diff for D114539: [clang-tidy] performance-unnecessary-copy-initialization: handle pointer containers..

Add more comments on the approach.

Nov 25 2021, 12:27 AM · Restricted Project

Nov 24 2021

courbet updated the diff for D114539: [clang-tidy] performance-unnecessary-copy-initialization: handle pointer containers..

Rebase on submitted unit tests so that we can see the changes better.

Nov 24 2021, 8:00 AM · Restricted Project
courbet committed rG3b7244808405: [clang-tidy] Add unit tests for `DeclRefExprUtils`. (authored by courbet).
[clang-tidy] Add unit tests for `DeclRefExprUtils`.
Nov 24 2021, 7:48 AM
courbet requested review of D114539: [clang-tidy] performance-unnecessary-copy-initialization: handle pointer containers..
Nov 24 2021, 7:21 AM · Restricted Project

Nov 23 2021

courbet committed rGba4411e7c6a5: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative. (authored by courbet).
[clang-tidy] performance-unnecessary-copy-initialization: Fix false negative.
Nov 23 2021, 11:14 PM
courbet closed D114249: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative..
Nov 23 2021, 11:14 PM · Restricted Project
courbet updated the diff for D114249: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative..

add container exclusion tests for operators.

Nov 23 2021, 7:19 AM · Restricted Project
courbet updated the diff for D114249: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative..

Canonicalize more types and add more container tests.

Nov 23 2021, 6:21 AM · Restricted Project

Nov 22 2021

courbet updated the diff for D114249: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative..

rebase

Nov 22 2021, 1:57 AM · Restricted Project
courbet added inline comments to D114249: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative..
Nov 22 2021, 1:56 AM · Restricted Project

Nov 19 2021

courbet requested review of D114249: [clang-tidy] performance-unnecessary-copy-initialization: Fix false negative..
Nov 19 2021, 7:57 AM · Restricted Project
courbet accepted D114212: [clang-tidy] performance-unnecessary-copy-initialization: Correctly match the type name of the thisPointertype..
Nov 19 2021, 12:30 AM · Restricted Project

Nov 18 2021

courbet added a comment to D114105: [clang-tidy] Ignore narrowing conversions in case of bitfields.

Thanks for the details, this explains the motivation well. I think the key point is the combination of:

Nov 18 2021, 6:56 AM · Restricted Project
courbet added inline comments to D114105: [clang-tidy] Ignore narrowing conversions in case of bitfields.
Nov 18 2021, 12:04 AM · Restricted Project

Nov 16 2021

courbet added a comment to D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

ping

Nov 16 2021, 3:56 AM · Restricted Project

Nov 9 2021

courbet updated the diff for D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

one more spaceship operator fix.

Nov 9 2021, 4:06 AM · Restricted Project

Nov 5 2021

courbet committed rG737f540abd57: [Sema][NFC] Add tests for builtin spaceship operator. (authored by courbet).
[Sema][NFC] Add tests for builtin spaceship operator.
Nov 5 2021, 3:44 AM
courbet accepted D113213: [NFC] Move CombinationGenerator from Exegesis to ADT.
Nov 5 2021, 1:55 AM · Restricted Project

Nov 4 2021

courbet added a comment to D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

Is this change observable in some way?

Nov 4 2021, 9:03 AM · Restricted Project
courbet updated the diff for D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

Implement the proposed changes.

Nov 4 2021, 8:59 AM · Restricted Project
courbet committed rGd3dc7d077f1d: [Sema][NFC] Improve test coverage of builtin operators. (authored by courbet).
[Sema][NFC] Improve test coverage of builtin operators.
Nov 4 2021, 7:47 AM

Nov 3 2021

courbet added a comment to D112453: [Sema] When dereferencing a pointer of dependent type, infer the result type..

I think this change is being made in an imperfect place, though. Instead of putting a special case in here, how would we feel about making Type::isOverloadableType() smarter, to return false for dependent types that can't possibly be class or enum types (eg, dependent pointer types, array types, and maybe more exotic things like function types, atomic types, and complex types)? This would then apply to all operators, not only unary *. Eg, we know the type of &p where p is T*, and we know the type of p + n where p is T* and n is integral. That change might have a lot more fallout, but it'd certainly be interesting to see what it breaks.

Nov 3 2021, 8:39 AM · Restricted Project
courbet committed rG45b84a547efe: [Sema][NFC] Improve test coverage for builtin binary operators. (authored by courbet).
[Sema][NFC] Improve test coverage for builtin binary operators.
Nov 3 2021, 7:52 AM