Page MenuHomePhabricator
Feed Advanced Search

Apr 6 2021

mizvekov requested review of D100000: [clang] WIP: Implement simpler alternative to two-phase lookup for NRVO.
Apr 6 2021, 5:27 PM · Restricted Project
mizvekov committed rGa1aada75f565: [docs] Fix doxygen comments wrongly attached to the llvm namespace (authored by nicolas17).
[docs] Fix doxygen comments wrongly attached to the llvm namespace
Apr 6 2021, 4:20 PM
mizvekov closed D96736: [docs] Fix doxygen comments wrongly attached to the llvm namespace.
Apr 6 2021, 4:20 PM · Restricted Project
mizvekov accepted D96736: [docs] Fix doxygen comments wrongly attached to the llvm namespace.
Apr 6 2021, 3:12 PM · Restricted Project
mizvekov added a reviewer for D96736: [docs] Fix doxygen comments wrongly attached to the llvm namespace: mizvekov.
Apr 6 2021, 3:04 PM · Restricted Project
mizvekov added a comment to D96736: [docs] Fix doxygen comments wrongly attached to the llvm namespace.

In general LGTM, once you address the couple of points I raised, and address the relevant linter issues.

Apr 6 2021, 11:58 AM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.
  • test/SemaCXX/coroutine-rvo: Make MoveOnly trivial, since the temporary is not created anymore and there is no special reason to test a non-trivial type here.
Apr 6 2021, 11:12 AM · Restricted Project
mizvekov updated the diff for D99225: [clang] tests: cleanup, update and add some new ones.
  • Finally addresses all of Arthur's review requests.
Apr 6 2021, 11:08 AM · Restricted Project
mizvekov added inline comments to D99225: [clang] tests: cleanup, update and add some new ones.
Apr 6 2021, 11:07 AM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.
Apr 6 2021, 9:10 AM · Restricted Project
mizvekov updated the diff for D99696: [clang] NRVO: Improvements and handling of more cases..
  • small Doxygen fix.
Apr 6 2021, 9:01 AM · Restricted Project

Apr 3 2021

mizvekov retitled D99696: [clang] NRVO: Improvements and handling of more cases. from [clang] WIP: NRVO: Improvements and handling of more cases. to [clang] NRVO: Improvements and handling of more cases..
Apr 3 2021, 8:34 PM · Restricted Project
mizvekov updated the diff for D99696: [clang] NRVO: Improvements and handling of more cases..

.

Apr 3 2021, 7:49 PM · Restricted Project
mizvekov updated the diff for D99696: [clang] NRVO: Improvements and handling of more cases..

Rebased.

Apr 3 2021, 7:09 PM · Restricted Project
mizvekov updated the diff for D99225: [clang] tests: cleanup, update and add some new ones.
  • Addresses most of Arthur's points.
  • Re-adds test coverage for conversion-function.cpp and temp.mem/p5.cpp with no C++ version specified.
  • Adds a couple more tests on nrvo-tracking for blocks returning references.
Apr 3 2021, 6:35 PM · Restricted Project
mizvekov added inline comments to D99225: [clang] tests: cleanup, update and add some new ones.
Apr 3 2021, 5:32 PM · Restricted Project

Apr 2 2021

mizvekov updated the diff for D99225: [clang] tests: cleanup, update and add some new ones.

Just rebased, removing trailing whitespace noise.

Apr 2 2021, 6:27 PM · Restricted Project
mizvekov committed rGbac74a50e99f: [clang] NFC: remove trailing white spaces from some tests (authored by mizvekov).
[clang] NFC: remove trailing white spaces from some tests
Apr 2 2021, 6:18 PM
mizvekov closed D99826: [clang] NFC: remove trailing white spaces from some tests.
Apr 2 2021, 6:18 PM · Restricted Project
mizvekov requested review of D99826: [clang] NFC: remove trailing white spaces from some tests.
Apr 2 2021, 6:14 PM · Restricted Project
mizvekov added a comment to D99225: [clang] tests: cleanup, update and add some new ones.

@Quuxplusone Thank you for the review. All your points are good ones and will be addressed in time!

Apr 2 2021, 5:42 PM · Restricted Project
mizvekov retitled D99225: [clang] tests: cleanup, update and add some new ones from [clang] cxx tests: cleanup, update and add some new ones to [clang] tests: cleanup, update and add some new ones.
Apr 2 2021, 4:56 PM · Restricted Project
mizvekov updated the summary of D99696: [clang] NRVO: Improvements and handling of more cases..
Apr 2 2021, 4:38 PM · Restricted Project
mizvekov updated the diff for D99696: [clang] NRVO: Improvements and handling of more cases..

Fixes for auto&, decltype(auto).
Exclude candidates from functions with dependent / undeduced return types which are references.
Adjusts the CodeGen tests from D99225.

Apr 2 2021, 4:32 PM · Restricted Project
mizvekov updated the diff for D99225: [clang] tests: cleanup, update and add some new ones.

Includes some new NRVO tests which will be used in D99696.

Apr 2 2021, 4:22 PM · Restricted Project

Mar 31 2021

mizvekov updated the diff for D99696: [clang] NRVO: Improvements and handling of more cases..

fix clang-tidy warning.

Mar 31 2021, 6:44 PM · Restricted Project
mizvekov added a comment to D99696: [clang] NRVO: Improvements and handling of more cases..

Wow, nice catches. For posterity, here's the missed-optimization being addressed IIUC: https://godbolt.org/z/MEoKGs7cE

Mar 31 2021, 6:11 PM · Restricted Project
mizvekov requested review of D99696: [clang] NRVO: Improvements and handling of more cases..
Mar 31 2021, 5:42 PM · Restricted Project

Mar 30 2021

mizvekov added inline comments to D99005: [clang] Implement P2266 Simpler implicit move.
Mar 30 2021, 3:14 PM · Restricted Project
mizvekov committed rG3ad6dd5d8f0a: [clang] Use decltype((E)) for compound requirement type constraint (authored by mizvekov).
[clang] Use decltype((E)) for compound requirement type constraint
Mar 30 2021, 1:01 PM
mizvekov closed D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 30 2021, 1:00 PM · Restricted Project

Mar 29 2021

mizvekov updated the diff for D98160: [clang] Use decltype((E)) for compound requirement type constraint.

Changes per rsmith review:

Mar 29 2021, 5:11 PM · Restricted Project
mizvekov added inline comments to D99005: [clang] Implement P2266 Simpler implicit move.
Mar 29 2021, 3:57 PM · Restricted Project
mizvekov added inline comments to D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 29 2021, 2:21 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

Small update making some invariants more clear, with some simplifications.

Mar 29 2021, 10:32 AM · Restricted Project

Mar 28 2021

mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

some further simplifications

Mar 28 2021, 7:44 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

small fix

Mar 28 2021, 4:57 PM · Restricted Project
mizvekov updated subscribers of D99005: [clang] Implement P2266 Simpler implicit move.
Mar 28 2021, 4:41 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

So it turns out there was a pre-existing bug where ObjC++ blocks
with dependent return type were not getting copy elision.

Mar 28 2021, 4:19 PM · Restricted Project

Mar 27 2021

mizvekov retitled D99005: [clang] Implement P2266 Simpler implicit move from [clang] WIP: Implement P2266 to [clang] Implement P2266 Simpler implicit move.
Mar 27 2021, 9:06 PM · Restricted Project
mizvekov updated the summary of D99005: [clang] Implement P2266 Simpler implicit move.
Mar 27 2021, 9:06 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

Cleaned up implementation, not WIP anymore, ready for review.

Mar 27 2021, 8:58 PM · Restricted Project

Mar 24 2021

mizvekov added inline comments to D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 24 2021, 4:05 PM · Restricted Project
mizvekov updated the summary of D99005: [clang] Implement P2266 Simpler implicit move.
Mar 24 2021, 3:45 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

Rebased on top of D99225, running on a bunch of extra tests.

Mar 24 2021, 3:43 PM · Restricted Project

Mar 23 2021

mizvekov updated the diff for D99225: [clang] tests: cleanup, update and add some new ones.

Normalize test tag names on clang/test/SemaCXX/P1155.cpp

Mar 23 2021, 6:41 PM · Restricted Project
mizvekov added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

Splitting off the test changes into: https://reviews.llvm.org/D99225

Mar 23 2021, 5:26 PM · Restricted Project
mizvekov updated the diff for D99225: [clang] tests: cleanup, update and add some new ones.

Changes per Arthur.

Mar 23 2021, 5:18 PM · Restricted Project
mizvekov added inline comments to D99225: [clang] tests: cleanup, update and add some new ones.
Mar 23 2021, 5:09 PM · Restricted Project
mizvekov added inline comments to D99225: [clang] tests: cleanup, update and add some new ones.
Mar 23 2021, 5:02 PM · Restricted Project
mizvekov added reviewers for D99225: [clang] tests: cleanup, update and add some new ones: aaronpuchert, Quuxplusone.
Mar 23 2021, 4:41 PM · Restricted Project
mizvekov requested review of D99225: [clang] tests: cleanup, update and add some new ones.
Mar 23 2021, 4:38 PM · Restricted Project
mizvekov added a comment to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.

Shrink the code by one line, by introducing another local named variable.
Still hoping for an "accept" here.

Mar 23 2021, 8:01 AM · Restricted Project

Mar 22 2021

mizvekov updated the summary of D99005: [clang] Implement P2266 Simpler implicit move.
Mar 22 2021, 10:28 AM · Restricted Project

Mar 21 2021

mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

small cleanup.

Mar 21 2021, 7:08 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

small cleanup.

Mar 21 2021, 7:05 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.

Changed:

  • Implemented co_return as per Aaron's suggestion.
  • Imported coroutine tests from D68845.
  • Test tags shortened: cxxYY_cxxZZ means every version from YY to ZZ, instead of cxxAA_BB_CC_DD.
  • Existing test on decltype(auto) updated to also run on c++2b.
  • Change one of the test cases to just instantiate the relevant template, as per Arthur.
Mar 21 2021, 5:56 PM · Restricted Project
mizvekov added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

With my previous comment I meant that it's better if you leave out the co_return bits for now because it's wrong anyway. We can't use PerformMoveOrCopyInitialization. It would just generate merge conflicts.

Mar 21 2021, 4:12 PM · Restricted Project
mizvekov added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

Conspicuously missing: tests for decltype(auto) return types, tests for co_return.

Though the first comment warns you that this is a work in progress and I just didn't get around to doing it yet ;)

Mar 21 2021, 1:38 PM · Restricted Project

Mar 20 2021

mizvekov updated the summary of D99005: [clang] Implement P2266 Simpler implicit move.
Mar 20 2021, 7:19 PM · Restricted Project
mizvekov updated the diff for D99005: [clang] Implement P2266 Simpler implicit move.
  • Removed special flag, now is enabled on -std=c++2b
  • Always enabled for coroutines
  • Ran test suite
  • Some relevant test files updated to also run c++2b
  • Some new tests added
Mar 20 2021, 7:15 PM · Restricted Project
mizvekov added a comment to D99005: [clang] Implement P2266 Simpler implicit move.

For coroutines I have D68845. The current code is wrong, and not trivial to fix. We have never properly implemented P1825 and will probably just go with P2266 unconditionally, because that two-phase lookup is very cumbersome to imlement.

Mar 20 2021, 2:40 PM · Restricted Project

Mar 19 2021

mizvekov requested review of D99005: [clang] Implement P2266 Simpler implicit move.
Mar 19 2021, 8:24 PM · Restricted Project
mizvekov added inline comments to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.
Mar 19 2021, 5:58 PM · Restricted Project
mizvekov added inline comments to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.
Mar 19 2021, 1:12 PM · Restricted Project
mizvekov added inline comments to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.
Mar 19 2021, 12:27 PM · Restricted Project
mizvekov added inline comments to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.
Mar 19 2021, 12:17 PM · Restricted Project
mizvekov added inline comments to D98971: [C++20] [P1825] Fix bugs with implicit-move from variables of reference type.
Mar 19 2021, 11:51 AM · Restricted Project

Mar 17 2021

Herald added a reviewer for D50119: P1144 "Trivially relocatable" (0/3): Compiler support for `__is_trivially_relocatable(T)`: aaron.ballman.
Mar 17 2021, 5:09 AM · Restricted Project

Mar 15 2021

mizvekov added a comment to D98160: [clang] Use decltype((E)) for compound requirement type constraint.

I don't know what is going on with the clang-format linux failure here.
The patch it suggests looks awful...

Mar 15 2021, 6:21 PM · Restricted Project
mizvekov updated the diff for D98160: [clang] Use decltype((E)) for compound requirement type constraint.

broken bot rebuild repush

Mar 15 2021, 1:07 PM · Restricted Project

Mar 13 2021

mizvekov updated the diff for D98160: [clang] Use decltype((E)) for compound requirement type constraint.

lint

Mar 13 2021, 7:47 PM · Restricted Project
mizvekov added inline comments to D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.
Mar 13 2021, 6:24 PM · Restricted Project
mizvekov updated the summary of D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 13 2021, 5:31 PM · Restricted Project
mizvekov updated the diff for D98160: [clang] Use decltype((E)) for compound requirement type constraint.
  • Uses yet another simpler approach: Since dependence should not matter (we were using the type of the expression after template instantiation anyway), we don't even need to build a decltype type here, and just get the canonical type from the (expr) instead. Kudos to rsmith for this suggestion in private.
  • Adds some more tests, testing more kinds of values.
Mar 13 2021, 5:25 PM · Restricted Project

Mar 12 2021

mizvekov committed rGd4a8c7359b57: [clang] Fix ICE on invalid type parameters for concepts (authored by mizvekov).
[clang] Fix ICE on invalid type parameters for concepts
Mar 12 2021, 4:23 PM
mizvekov closed D98095: [clang] Fix ICE on invalid type parameters for concepts.
Mar 12 2021, 4:23 PM · Restricted Project
mizvekov committed rGc9fd92d57398: [clang] Improve diagnostics on implicitly deleted defaulted comparisons (authored by mizvekov).
[clang] Improve diagnostics on implicitly deleted defaulted comparisons
Mar 12 2021, 4:14 PM
mizvekov closed D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.
Mar 12 2021, 4:14 PM · Restricted Project
mizvekov added inline comments to D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.
Mar 12 2021, 3:21 PM · Restricted Project

Mar 9 2021

mizvekov updated the diff for D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.

Change to simpler way to do it:
For CompleteObject Kind, just fill in the declaration for the complete object.

Mar 9 2021, 4:07 AM · Restricted Project

Mar 8 2021

mizvekov added a comment to D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.

You are absolutely right, my bad!!

Mar 8 2021, 6:14 PM · Restricted Project
mizvekov retitled D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons from [clang] Always provide relevant subobject for 'no viable comparison' to [clang] Improve diagnostics on implicitly deleted defaulted comparisons.
Mar 8 2021, 6:12 PM · Restricted Project
mizvekov updated the diff for D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.

Now this a patch just about improving the diagnostic as rsmith suggested.

Mar 8 2021, 6:11 PM · Restricted Project
mizvekov updated the diff for D98095: [clang] Fix ICE on invalid type parameters for concepts.

Addressed rsmith's concerns.
Fixed test type name to avoid picking up suggestions from other tests.

Mar 8 2021, 2:55 PM · Restricted Project
mizvekov added inline comments to D98095: [clang] Fix ICE on invalid type parameters for concepts.
Mar 8 2021, 1:56 PM · Restricted Project
mizvekov added inline comments to D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 8 2021, 1:48 PM · Restricted Project
mizvekov updated the diff for D98160: [clang] Use decltype((E)) for compound requirement type constraint.

Addressing Arthur's concerns:

  • Changed getBaseDecltypeForExpr to getDecltypeForParenthesizedExpr.
  • Changed ImplicitParens to Parenthesized.
  • Clarified comment.
Mar 8 2021, 1:28 PM · Restricted Project

Mar 7 2021

mizvekov updated the diff for D98095: [clang] Fix ICE on invalid type parameters for concepts.

Repush, no changes.

Mar 7 2021, 6:54 PM · Restricted Project
mizvekov updated the summary of D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 7 2021, 6:39 PM · Restricted Project
mizvekov added reviewers for D98160: [clang] Use decltype((E)) for compound requirement type constraint: rsmith, saar.raz.
Mar 7 2021, 6:38 PM · Restricted Project
mizvekov requested review of D98160: [clang] Use decltype((E)) for compound requirement type constraint.
Mar 7 2021, 6:32 PM · Restricted Project

Mar 5 2021

mizvekov added reviewers for D98095: [clang] Fix ICE on invalid type parameters for concepts: rsmith, saar.raz.
Mar 5 2021, 6:13 PM · Restricted Project
mizvekov requested review of D98095: [clang] Fix ICE on invalid type parameters for concepts.
Mar 5 2021, 6:12 PM · Restricted Project
mizvekov updated the diff for D98087: [clang] Fix constrained decltype(auto) deduction.

Turns out someone had already reported this bug.

Mar 5 2021, 6:03 PM · Restricted Project
mizvekov updated the diff for D98087: [clang] Fix constrained decltype(auto) deduction.

Added new tests as suggested by rsmith.

Mar 5 2021, 4:31 PM · Restricted Project
mizvekov added reviewers for D98087: [clang] Fix constrained decltype(auto) deduction: rsmith, saar.raz.
Mar 5 2021, 3:56 PM · Restricted Project
mizvekov requested review of D98087: [clang] Fix constrained decltype(auto) deduction.
Mar 5 2021, 3:51 PM · Restricted Project

Mar 4 2021

mizvekov updated the summary of D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons.
Mar 4 2021, 4:51 PM · Restricted Project
mizvekov added a reviewer for D97990: [clang] Improve diagnostics on implicitly deleted defaulted comparisons: rsmith.
Mar 4 2021, 4:48 PM · Restricted Project