Page MenuHomePhabricator

AntonBikineev (Anton Bikineev)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 12 2014, 7:28 AM (424 w, 4 d)

Recent Activity

Oct 8 2022

AntonBikineev added a comment to D134456: [PGO] Consider parent context when weighing branches with likelyhood..

Thanks everybody!

Oct 8 2022, 2:52 PM · Restricted Project, Restricted Project
AntonBikineev committed rG7b85e765000d: [PGO] Consider parent context when weighing branches with likelyhood. (authored by AntonBikineev).
[PGO] Consider parent context when weighing branches with likelyhood.
Oct 8 2022, 2:50 PM · Restricted Project, Restricted Project
AntonBikineev closed D134456: [PGO] Consider parent context when weighing branches with likelyhood..
Oct 8 2022, 2:49 PM · Restricted Project, Restricted Project

Oct 4 2022

AntonBikineev added a comment to D134456: [PGO] Consider parent context when weighing branches with likelyhood..

Anyone wants to take a look/stamp? :)

Oct 4 2022, 2:41 PM · Restricted Project, Restricted Project

Sep 26 2022

AntonBikineev added a comment to D134456: [PGO] Consider parent context when weighing branches with likelyhood..

No, it sounds like we need a proposal for [[likely_unless_the_optimizer_decides_otherwise]] -- the [[likely]] attribute was intended for always-likely optimization decisions.

Well, whatever the default behavior is chosen.

Sep 26 2022, 5:44 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D134456: [PGO] Consider parent context when weighing branches with likelyhood..

Do users have some other escape hatch to tell PGO "ignore what you think you know about this branch" so that a user who *wants* PGO to lose has some ability to do that other than "don't use PGO"?

Sep 26 2022, 3:43 AM · Restricted Project, Restricted Project

Sep 22 2022

AntonBikineev added a comment to D134456: [PGO] Consider parent context when weighing branches with likelyhood..

I'm on the fence about this... the attributes were added as optimization hints, but for somewhat interesting use cases. The obvious one of "I think this path is likely/unlikely and so I'll help the compiler figure it out" was one such use case, but honestly that's akin to inline and register in terms of how likely it is the user will make a better decision than the optimizer. But the more interesting use case was "The optimizer is going to consider this to be the unlikely path, but I need it to be optimized because I need my failure code to fail as fast as possible". Basically, some folks wanted to use this to override the otherwise-reasonable decisions from the optimizer. Based on that, I'm not certain we should let PGO win -- the user is telling you "optimize based on something I know more about than you", and having a profile that covers the code path doesn't necessarily change that. WDYT?

Sep 22 2022, 2:31 PM · Restricted Project, Restricted Project
AntonBikineev updated the diff for D134456: [PGO] Consider parent context when weighing branches with likelyhood..
Sep 22 2022, 11:23 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D134456: [PGO] Consider parent context when weighing branches with likelyhood..

Thanks!

Sep 22 2022, 11:22 AM · Restricted Project, Restricted Project
AntonBikineev requested review of D134456: [PGO] Consider parent context when weighing branches with likelyhood..
Sep 22 2022, 10:19 AM · Restricted Project, Restricted Project

Apr 13 2021

AntonBikineev committed rG69545154cc28: [Sema] Move 'char-expression-as-unsigned < 0' into a separate diagnostic (authored by AntonBikineev).
[Sema] Move 'char-expression-as-unsigned < 0' into a separate diagnostic
Apr 13 2021, 4:03 PM
AntonBikineev closed D99808: [Sema] Move 'char-expression-as-unsigned < 0' into a separate diagnostic .
Apr 13 2021, 4:03 PM · Restricted Project

Apr 10 2021

AntonBikineev updated the diff for D99808: [Sema] Move 'char-expression-as-unsigned < 0' into a separate diagnostic .

Fix formatting

Apr 10 2021, 7:13 AM · Restricted Project
AntonBikineev added a comment to D99808: [Sema] Move 'char-expression-as-unsigned < 0' into a separate diagnostic .

friendly ping..

Apr 10 2021, 7:09 AM · Restricted Project

Apr 2 2021

AntonBikineev requested review of D99808: [Sema] Move 'char-expression-as-unsigned < 0' into a separate diagnostic .
Apr 2 2021, 11:37 AM · Restricted Project

Mar 31 2021

AntonBikineev added inline comments to D99456: [C++2b] Support size_t literals.
Mar 31 2021, 7:50 AM · Restricted Project
AntonBikineev closed D99456: [C++2b] Support size_t literals.

Aaron, Richard, thanks a lot for reviewing this!

Mar 31 2021, 6:42 AM · Restricted Project
AntonBikineev committed rGdc7ebd2cb0cf: [C++2b] Support size_t literals (authored by AntonBikineev).
[C++2b] Support size_t literals
Mar 31 2021, 6:39 AM
AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Fix comment

Mar 31 2021, 6:04 AM · Restricted Project
AntonBikineev added inline comments to D99456: [C++2b] Support size_t literals.
Mar 31 2021, 6:03 AM · Restricted Project

Mar 30 2021

AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.
Mar 30 2021, 3:33 PM · Restricted Project
AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Address comments

Mar 30 2021, 1:42 PM · Restricted Project
AntonBikineev added inline comments to D99456: [C++2b] Support size_t literals.
Mar 30 2021, 1:40 PM · Restricted Project
AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Address comments. Also:

  • always issue a new diagnostic if size_t/ssize_t is out of range;
  • prohibit numbers with 'z' suffix and non-10-radix to be interpreted as unsigned.
Mar 30 2021, 3:38 AM · Restricted Project
AntonBikineev added inline comments to D99456: [C++2b] Support size_t literals.
Mar 30 2021, 3:36 AM · Restricted Project

Mar 29 2021

AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Address comments

Mar 29 2021, 7:15 PM · Restricted Project
AntonBikineev added a comment to D99456: [C++2b] Support size_t literals.

Thanks Richard for taking a look!

Mar 29 2021, 7:13 PM · Restricted Project
AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Address comments

Mar 29 2021, 1:28 PM · Restricted Project
AntonBikineev added a comment to D99456: [C++2b] Support size_t literals.

Thanks Aaron for taking a look! Addressed the comments. I also hope it's okay to test preprocessor in the same test (test/Lexer/size_t-literal.cpp).

Mar 29 2021, 1:27 PM · Restricted Project
AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Fix formatting

Mar 29 2021, 4:14 AM · Restricted Project

Mar 27 2021

AntonBikineev updated the diff for D99456: [C++2b] Support size_t literals.

Fix failing tests

Mar 27 2021, 12:13 PM · Restricted Project
AntonBikineev requested review of D99456: [C++2b] Support size_t literals.
Mar 27 2021, 9:49 AM · Restricted Project

Mar 25 2021

AntonBikineev requested review of D99396: [clang] Support C++20's using ENUM_ID::IDENTIFIER.
Mar 25 2021, 7:04 PM · Restricted Project

Mar 9 2021

AntonBikineev added a comment to D97951: [Sema] Fix diagnostics for one-byte length modifier.

Thanks Aaron for taking a look!

Mar 9 2021, 7:59 AM · Restricted Project
AntonBikineev removed reviewers for D97951: [Sema] Fix diagnostics for one-byte length modifier: jordan_rose, rsmith.
Mar 9 2021, 7:59 AM · Restricted Project
AntonBikineev committed rG4f8e299785e8: [Sema] Fix diagnostics for one-byte length modifier (authored by AntonBikineev).
[Sema] Fix diagnostics for one-byte length modifier
Mar 9 2021, 7:57 AM
AntonBikineev closed D97951: [Sema] Fix diagnostics for one-byte length modifier.
Mar 9 2021, 7:57 AM · Restricted Project
AntonBikineev added a reviewer for D97951: [Sema] Fix diagnostics for one-byte length modifier: rsmith.
Mar 9 2021, 3:36 AM · Restricted Project

Mar 4 2021

AntonBikineev added a reviewer for D97951: [Sema] Fix diagnostics for one-byte length modifier: aaron.ballman.
Mar 4 2021, 10:01 AM · Restricted Project
AntonBikineev requested review of D97951: [Sema] Fix diagnostics for one-byte length modifier.
Mar 4 2021, 7:43 AM · Restricted Project

Apr 9 2020

AntonBikineev added a comment to D77477: tsan: don't instrument __attribute__((naked)) functions.

Thanks for taking a look!

Apr 9 2020, 5:55 AM · Restricted Project
AntonBikineev committed rG9e1ccec8d529: tsan: don't instrument __attribute__((naked)) functions (authored by AntonBikineev).
tsan: don't instrument __attribute__((naked)) functions
Apr 9 2020, 5:23 AM
AntonBikineev closed D77477: tsan: don't instrument __attribute__((naked)) functions.
Apr 9 2020, 5:23 AM · Restricted Project

Apr 8 2020

AntonBikineev updated subscribers of D77477: tsan: don't instrument __attribute__((naked)) functions.
Apr 8 2020, 1:02 AM · Restricted Project

Apr 6 2020

AntonBikineev added a comment to D77477: tsan: don't instrument __attribute__((naked)) functions.

Ping

Apr 6 2020, 3:49 PM · Restricted Project

Apr 4 2020

AntonBikineev created D77477: tsan: don't instrument __attribute__((naked)) functions.
Apr 4 2020, 2:22 PM · Restricted Project

Nov 1 2019

AntonBikineev committed rGd36a03331026: [clang-tidy] New checker performance-trivially-destructible-check (authored by AntonBikineev).
[clang-tidy] New checker performance-trivially-destructible-check
Nov 1 2019, 8:17 AM
AntonBikineev closed D69435: [clang-tidy] New checker performance-trivially-destructible-check.
Nov 1 2019, 8:17 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Alright then. (Although I don't know whether the redeclaration chain always models that wording in the standard, and what that wording means when we don't have a linear ordering of text -- that is, in modules.)

Do you have commit access or do you need me to commit for you?

Nov 1 2019, 2:28 AM · Restricted Project, Restricted Project

Oct 31 2019

AntonBikineev added inline comments to D69435: [clang-tidy] New checker performance-trivially-destructible-check.
Oct 31 2019, 2:24 PM · Restricted Project, Restricted Project
AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

There is no difference in perf for GCC.

Yes, but that's because gcc still optimizes the call to noinlined function. In the common scenario which this check addresses (destructor defaulted in .cpp file) gcc is not able to optimize the call.

Oct 31 2019, 9:33 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

BTW, this very contrived benchmark shows 5x: http://quick-bench.com/sczBi_lVndKut9jOj4UofC0HYew

Oct 31 2019, 8:18 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Did you see some significant perf improvements for Chromium?

I don't see major improvements in browser benchmarks like Speedometer, but in the Blink garbage collector, which queues destructors to be executed later, this change proved to reduce the number of them by 5%. That, in turn, reduces GC time on the main thread which is significant for latency.

Oct 31 2019, 7:13 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Roman, thanks for reviewing and the ideas.

Oct 31 2019, 1:25 AM · Restricted Project, Restricted Project

Oct 29 2019

AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Does anybody have suggestions on this?

Oct 29 2019, 11:51 AM · Restricted Project, Restricted Project

Oct 28 2019

AntonBikineev updated the diff for D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Thanks for the suggestions!

Oct 28 2019, 4:01 PM · Restricted Project, Restricted Project
AntonBikineev added a comment to D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Roman, could you please take another look at it?

Oct 28 2019, 5:19 AM · Restricted Project, Restricted Project

Oct 25 2019

AntonBikineev updated the diff for D69435: [clang-tidy] New checker performance-trivially-destructible-check.

Thanks for the suggestions! Addressed some of them.

Oct 25 2019, 12:10 PM · Restricted Project, Restricted Project
AntonBikineev added inline comments to D69435: [clang-tidy] New checker performance-trivially-destructible-check.
Oct 25 2019, 12:00 PM · Restricted Project, Restricted Project
AntonBikineev created D69435: [clang-tidy] New checker performance-trivially-destructible-check.
Oct 25 2019, 9:11 AM · Restricted Project, Restricted Project

Aug 7 2019

AntonBikineev committed rG45f721ff0594: [clang] Fix mismatched args constructing AddressSpaceAttr. (authored by AntonBikineev).
[clang] Fix mismatched args constructing AddressSpaceAttr.
Aug 7 2019, 4:15 AM
AntonBikineev committed rL368152: [clang] Fix mismatched args constructing AddressSpaceAttr..
[clang] Fix mismatched args constructing AddressSpaceAttr.
Aug 7 2019, 4:15 AM
AntonBikineev closed D65589: [clang] Fix mismatched args constructing AddressSpaceAttr..
Aug 7 2019, 4:15 AM · Restricted Project, Restricted Project

Aug 5 2019

AntonBikineev added a comment to D65589: [clang] Fix mismatched args constructing AddressSpaceAttr..

Ping.

Aug 5 2019, 3:48 AM · Restricted Project, Restricted Project

Aug 2 2019

AntonBikineev added a comment to D65589: [clang] Fix mismatched args constructing AddressSpaceAttr..

Pinging for review..

Aug 2 2019, 12:36 PM · Restricted Project, Restricted Project

Aug 1 2019

AntonBikineev updated the diff for D65589: [clang] Fix mismatched args constructing AddressSpaceAttr..

Roman, -ast-dump shows the correct result, because the correct address space is encoded in qualifiers and is passed to Context.getAddrSpaceQualType(...) later in this function. This is why this bug is not observable from the AST. But if you try accessing real Attr* from TypeSourceInfo, you'll see this mismatch.

Aug 1 2019, 12:37 PM · Restricted Project, Restricted Project
AntonBikineev created D65589: [clang] Fix mismatched args constructing AddressSpaceAttr..
Aug 1 2019, 10:22 AM · Restricted Project, Restricted Project

Jul 25 2019

AntonBikineev committed rG207726c8825a: [clang] Remove IsDerivedFromDeathTest.DiesOnEmptyBaseName test. (authored by AntonBikineev).
[clang] Remove IsDerivedFromDeathTest.DiesOnEmptyBaseName test.
Jul 25 2019, 8:12 AM
AntonBikineev committed rL367026: [clang] Remove IsDerivedFromDeathTest.DiesOnEmptyBaseName test..
[clang] Remove IsDerivedFromDeathTest.DiesOnEmptyBaseName test.
Jul 25 2019, 8:12 AM
AntonBikineev committed rG0ef3f27458f5: [clang] Fail for empty names in is*DerivedFrom matchers. (authored by AntonBikineev).
[clang] Fail for empty names in is*DerivedFrom matchers.
Jul 25 2019, 7:50 AM
AntonBikineev committed rL367022: [clang] Fail for empty names in is*DerivedFrom matchers..
[clang] Fail for empty names in is*DerivedFrom matchers.
Jul 25 2019, 7:50 AM
AntonBikineev closed D65279: [clang] Fail for empty names in is*DerivedFrom matchers..
Jul 25 2019, 7:50 AM · Restricted Project, Restricted Project
AntonBikineev created D65279: [clang] Fail for empty names in is*DerivedFrom matchers..
Jul 25 2019, 6:18 AM · Restricted Project, Restricted Project
AntonBikineev committed rG4e1d188be286: [clang] Add isDirectlyDerivedFrom AST matcher. (authored by AntonBikineev).
[clang] Add isDirectlyDerivedFrom AST matcher.
Jul 25 2019, 4:58 AM
AntonBikineev committed rL367010: [clang] Add isDirectlyDerivedFrom AST matcher..
[clang] Add isDirectlyDerivedFrom AST matcher.
Jul 25 2019, 4:54 AM
AntonBikineev closed D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..
Jul 25 2019, 4:53 AM · Restricted Project, Restricted Project

Jul 24 2019

AntonBikineev updated the diff for D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..

Missed that, thanks for the point!

Jul 24 2019, 8:16 AM · Restricted Project, Restricted Project
AntonBikineev added inline comments to D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..
Jul 24 2019, 7:58 AM · Restricted Project, Restricted Project
AntonBikineev updated the diff for D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..

Thanks for the comments!

Jul 24 2019, 7:58 AM · Restricted Project, Restricted Project
AntonBikineev added a comment to D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..

Manuel, would you mind taking another look at the change please?

Jul 24 2019, 5:13 AM · Restricted Project, Restricted Project

Jul 23 2019

AntonBikineev updated the diff for D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..

Thanks for the note, updated the diff with autogenerated LibASTMatcherReference.html.

Jul 23 2019, 1:52 AM · Restricted Project, Restricted Project

Jul 22 2019

AntonBikineev updated the diff for D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..

Manuel, I left some cases which deviated from the isDerivedFrom matcher.

Jul 22 2019, 10:59 AM · Restricted Project, Restricted Project
AntonBikineev added a reviewer for D65092: [clang] Add isDirectlyDerivedFrom AST Matcher.: klimek.
Jul 22 2019, 9:45 AM · Restricted Project, Restricted Project
AntonBikineev created D65092: [clang] Add isDirectlyDerivedFrom AST Matcher..
Jul 22 2019, 7:14 AM · Restricted Project, Restricted Project

Nov 7 2018

AntonBikineev added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

@inouehrs thanks a lot, jut was granted with the access to the farm.

Nov 7 2018, 4:35 AM

Oct 26 2018

AntonBikineev added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

@inouehrs I would be happy to work on the issue and find out what really causes the segfaults. Unfortunately, I don't have a ppc working machine, compiling clang in qemu emulating ppc took me over 3 days. Do you know of any cloud vps services based on power pc?

Oct 26 2018, 10:54 AM

Oct 14 2018

AntonBikineev added a comment to rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.

@AntonBikineev It seems that this patch is causing failures in a ppc64 buildbot http://lab.llvm.org:8011/builders/clang-ppc64le-linux-multistage/ . Do you have any idea on the reason of the problem by looking at the errors?

Oct 14 2018, 10:43 AM

Oct 10 2018

AntonBikineev added a comment to D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

@rsmith, thanks. Le'ts see if there is a need for the command-line option down the road.

Oct 10 2018, 9:19 AM · Restricted Project
AntonBikineev committed rC344150: [CodeGenCXX] Treat 'this' as noalias in constructors.
[CodeGenCXX] Treat 'this' as noalias in constructors
Oct 10 2018, 9:18 AM
AntonBikineev committed rL344150: [CodeGenCXX] Treat 'this' as noalias in constructors.
[CodeGenCXX] Treat 'this' as noalias in constructors
Oct 10 2018, 9:18 AM
AntonBikineev closed D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.
Oct 10 2018, 9:17 AM · Restricted Project

Oct 8 2018

AntonBikineev added a comment to D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

@rjmccall thanks for taking a look,
@rsmith do you have any comments or suggestions?

Oct 8 2018, 11:14 AM · Restricted Project
AntonBikineev updated the diff for D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.
Oct 8 2018, 5:01 AM · Restricted Project

Oct 6 2018

AntonBikineev updated the diff for D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.
Oct 6 2018, 6:30 PM · Restricted Project
AntonBikineev added a comment to D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

I've submitted an issue to the Core about the case. Presumably, it will be included in the next revision (mailing deadline of which is tomorrow).

Oct 6 2018, 6:29 PM · Restricted Project

Oct 4 2018

AntonBikineev updated the diff for D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

ClangToLLVMArgMapping is now used to get LLVM argument corresponding to 'this'.

Oct 4 2018, 10:24 AM · Restricted Project

May 12 2018

AntonBikineev updated the diff for D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

Thanks for the remarkable note. I've updated the patch and marked the first llvm::Function parameter with noalias attribute. Please notice, that this is not the only place where the position of the this pointer is assumed to always be first. As an example, another such place is here. Maybe we will have to generalize it in CGCXXABI down the road...

May 12 2018, 5:17 AM · Restricted Project

May 5 2018

AntonBikineev added a comment to D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

@efriedma copy and move constructors are particular cases where the value of a constructed object may be accessed through a glvalue not obtained from 'this' pointer (but from the first arg of a ctor).

May 5 2018, 4:16 AM · Restricted Project

May 4 2018

AntonBikineev updated the diff for D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.

I've moved setting noalias-attribute down to IR-function creation. This is needed in the context of emitting a constructor call when the definition of the constructor is not available (and clang emits an IR-constructor-declaration). @lebedev.ri @aaron.ballman I've also adjusted existing tests. There a quite a few of them, so it seems there is no reason of having a specific test case.

May 4 2018, 5:30 PM · Restricted Project
AntonBikineev created D46441: [clang][CodeGenCXX] Noalias attr for 'this' parameter.
May 4 2018, 10:42 AM · Restricted Project