[PATCH] Move semantics for ValueMap

Pete Cooper peter_cooper at apple.com
Mon Apr 27 10:27:21 PDT 2015


> On Apr 27, 2015, at 10:14 AM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
> 
> +  static int numConstructorCalls;
> 
> Start variable names with an upper case.
Will do.
> 
> Even better, is there any way to share the class with ADT/SmallVectorTest.cpp?
Yeah, should be able to.  Will send out another patch to do so.

Cheers,
Pete
> 
> Cheers,
> Rafael
> 
> 
> On 27 April 2015 at 12:59, Pete Cooper <peter_cooper at apple.com> wrote:
>> Hi Rafael, David
>> 
>> In
>> http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150420/273199.html,
>> Rafael suggested returning a ValueMap from CloneFunction.
>> 
>> Turns out that ValueMap has a deleted copy constructor, and no move
>> constructor all.  This patch adds the move constructor (and assignment
>> operator). The default implementations of both of these seem to be fine.
>> 
>> To test this, i managed to get the Constructible class from the SmallVector
>> unit test to wrap a Value*, then use that to count all the times the
>> ValueMap does any of the operators.  I then went through the ValueMap and
>> DenseMap code to verify each of the values i’m checking against.  I left
>> some printf’s in an #if 0 for future use in case we want to easily check the
>> values coming out of this code.
>> 
>> Cheers,
>> Pete
>> 
>> 
>> 





More information about the llvm-commits mailing list