[llvm] r217018 - Recommit "Use unique_ptr to manager FilterChooser ownership."
Justin Bogner
mail at justinbogner.com
Tue Sep 2 23:45:44 PDT 2014
Craig Topper <craig.topper at gmail.com> writes:
> Author: ctopper
> Date: Wed Sep 3 01:07:54 2014
> New Revision: 217018
>
> URL: http://llvm.org/viewvc/llvm-project?rev=217018&view=revLog:
> Recommit "Use unique_ptr to manager FilterChooser ownership."
>
> Just using insert of a pair this time instead of emplace.
>
> Modified:
> llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp
>
> Modified: llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp?rev=217018&r1=217017&r2=217018&view=diff==============================================================================
> --- llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp Wed Sep 3 01:07:54 2014
> @@ -230,7 +230,7 @@ protected:
> std::vector<unsigned> VariableInstructions;
>
> // Map of well-known segment value to its delegate.
> - std::map<unsigned, const FilterChooser*> FilterChooserMap;
> + std::map<unsigned, std::unique_ptr<const FilterChooser>> FilterChooserMap;
>
> // Number of instructions which fall under FilteredInstructions category.
> unsigned NumFiltered;
> @@ -530,12 +530,6 @@ Filter::Filter(FilterChooser &owner, uns
> }
>
> Filter::~Filter() {
> - std::map<unsigned, const FilterChooser*>::iterator filterIterator;
> - for (filterIterator = FilterChooserMap.begin();
> - filterIterator != FilterChooserMap.end();
> - filterIterator++) {
> - delete filterIterator->second;
> - }
> }
>
> // Divides the decoding task into sub tasks and delegates them to the
> @@ -557,14 +551,13 @@ void Filter::recurse() {
>
> // Delegates to an inferior filter chooser for further processing on this
> // group of instructions whose segment values are variable.
> - FilterChooserMap.insert(std::pair<unsigned, const FilterChooser*>(
> - (unsigned)-1,
> - new FilterChooser(Owner->AllInstructions,
> - VariableInstructions,
> - Owner->Operands,
> - BitValueArray,
> - *Owner)
> - ));
> + FilterChooserMap.insert(std::make_pair(
> + -1U,
> + make_unique<FilterChooser>(Owner->AllInstructions,
> + VariableInstructions,
> + Owner->Operands,
> + BitValueArray,
> + *Owner)));
This indentation's a bit out there. Might be nice to clang-format these
while you're here.
> }
>
> // No need to recurse for a singleton filtered instruction.
> @@ -590,14 +583,13 @@ void Filter::recurse() {
>
> // Delegates to an inferior filter chooser for further processing on this
> // category of instructions.
> - FilterChooserMap.insert(std::pair<unsigned, const FilterChooser*>(
> + FilterChooserMap.insert(std::make_pair(
> mapIterator->first,
> - new FilterChooser(Owner->AllInstructions,
> - mapIterator->second,
> - Owner->Operands,
> - BitValueArray,
> - *Owner)
> - ));
> + make_unique<FilterChooser>(Owner->AllInstructions,
> + mapIterator->second,
> + Owner->Operands,
> + BitValueArray,
> + *Owner)));
> }
> }
>
> @@ -632,7 +624,8 @@ void Filter::emitTableEntry(DecoderTable
> // A new filter entry begins a new scope for fixup resolution.
> TableInfo.FixupStack.push_back(FixupList());
>
> - std::map<unsigned, const FilterChooser*>::const_iterator filterIterator;
> + std::map<unsigned,
> + std::unique_ptr<const FilterChooser>>::const_iterator filterIterator;
>
> DecoderTable &Table = TableInfo.Table;
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list