[llvm] r284972 - [RDF] Add default move constructors/assignment operators
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 24 10:50:44 PDT 2016
Fixed in r284996. :)
-Krzysztof
On 10/24/2016 12:24 PM, David Blaikie wrote:
>
>
> On Mon, Oct 24, 2016 at 10:22 AM Krzysztof Parzyszek
> <kparzysz at codeaurora.org <mailto:kparzysz at codeaurora.org>> wrote:
>
> IIRC declaring constructors effectively disables any default ones,
> unless they are explicitly listed as well.
>
>
> Nah - only declaring the special ones disables other special ones.
>
> If you don't write any of the move/copy ops (or the dtor), you'll get
> them all for free.
>
>
> Is this causing a problem
> somewhere?
>
>
> Nope - just figure less code's generally better, when we can help it :)
>
>
> This not strictly necessary for any functional purpose (other than
> potential performance gains).
>
> -Krzysztof
>
>
> On 10/24/2016 10:46 AM, David Blaikie wrote:
> > Do you need to write any of these out, or could you just let them be
> > provided as implicit defaults?
> >
> > On Mon, Oct 24, 2016 at 6:24 AM Krzysztof Parzyszek via llvm-commits
> > <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> <mailto:llvm-commits at lists.llvm.org
> <mailto:llvm-commits at lists.llvm.org>>> wrote:
> >
> > Author: kparzysz
> > Date: Mon Oct 24 08:15:20 2016
> > New Revision: 284972
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=284972&view=rev
> > Log:
> > [RDF] Add default move constructors/assignment operators
> >
> > Modified:
> > llvm/trunk/lib/Target/Hexagon/RDFGraph.h
> >
> > Modified: llvm/trunk/lib/Target/Hexagon/RDFGraph.h
> > URL:
> >
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/RDFGraph.h?rev=284972&r1=284971&r2=284972&view=diff
> >
> ==============================================================================
> > --- llvm/trunk/lib/Target/Hexagon/RDFGraph.h (original)
> > +++ llvm/trunk/lib/Target/Hexagon/RDFGraph.h Mon Oct 24
> 08:15:20 2016
> > @@ -329,7 +329,9 @@ namespace rdf {
> > NodeAddr() : Addr(nullptr), Id(0) {}
> > NodeAddr(T A, NodeId I) : Addr(A), Id(I) {}
> > NodeAddr(const NodeAddr&) = default;
> > + NodeAddr(NodeAddr&&) = default;
> > NodeAddr &operator= (const NodeAddr&) = default;
> > + NodeAddr &operator= (NodeAddr&&) = default;
> >
> > bool operator== (const NodeAddr<T> &NA) const {
> > assert((Addr == NA.Addr) == (Id == NA.Id));
> > @@ -407,8 +409,10 @@ namespace rdf {
> > RegisterRef() : RegisterRef(0) {}
> > explicit RegisterRef(RegisterId R, LaneBitmask M =
> ~LaneBitmask(0))
> > : Reg(R), Mask(R != 0 ? M : 0) {}
> > - RegisterRef(const RegisterRef &RR) = default;
> > - RegisterRef &operator= (const RegisterRef &RR) = default;
> > + RegisterRef(const RegisterRef&) = default;
> > + RegisterRef(RegisterRef&&) = default;
> > + RegisterRef &operator= (const RegisterRef&) = default;
> > + RegisterRef &operator= (RegisterRef&&) = default;
> > operator bool() const { return Reg != 0 && Mask !=
> > LaneBitmask(0); }
> > bool operator== (const RegisterRef &RR) const {
> > return Reg == RR.Reg && Mask == RR.Mask;
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> <mailto:llvm-commits at lists.llvm.org>
> <mailto:llvm-commits at lists.llvm.org
> <mailto:llvm-commits at lists.llvm.org>>
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> >
>
> --
> Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
> hosted by The Linux Foundation
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
More information about the llvm-commits
mailing list