[llvm] r249940 - Use emplace_back instead of a constructor call and push_back. NFC
David Blaikie via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 12 21:36:17 PDT 2015
On Mon, Oct 12, 2015 at 8:55 PM, Craig Topper <craig.topper at gmail.com>
wrote:
>
>
> On Mon, Oct 12, 2015 at 11:06 AM, David Blaikie <dblaikie at gmail.com>
> wrote:
>
>>
>>
>> On Fri, Oct 9, 2015 at 10:25 PM, Craig Topper via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>> Author: ctopper
>>> Date: Sat Oct 10 00:25:02 2015
>>> New Revision: 249940
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=249940&view=rev
>>> Log:
>>> Use emplace_back instead of a constructor call and push_back. NFC
>>>
>>
>> Any particular reason? I've tended to err away from emplace functions
>> except where necessary (because the type isn't movable or the object
>> identity is otherwise necessary)
>>
>> Just wondering what kind of motivation others are using for determining
>> the choice - not suggesting any way is right/wrong/should be
>> avoided/encouraged.
>>
>
> No good reason other than it was shorter and AsmRewrite objects are only
> constructed when their being pushed to the vector.
>
Rightio - I don't feel particularly strongly about it one way or another -
happy for you/others to go with whatever's comfortable & we'll see how
people feel about it as it becomes more pervasive.
>
>
>>
>>
>>>
>>> Modified:
>>> llvm/trunk/lib/MC/MCParser/AsmParser.cpp
>>> llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
>>>
>>> Modified: llvm/trunk/lib/MC/MCParser/AsmParser.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCParser/AsmParser.cpp?rev=249940&r1=249939&r2=249940&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/lib/MC/MCParser/AsmParser.cpp (original)
>>> +++ llvm/trunk/lib/MC/MCParser/AsmParser.cpp Sat Oct 10 00:25:02 2015
>>> @@ -1337,8 +1337,8 @@ bool AsmParser::parseStatement(ParseStat
>>> SI->LookupInlineAsmLabel(IDVal, getSourceManager(), IDLoc,
>>> true);
>>> assert(RewrittenLabel.size() &&
>>> "We should have an internal name here.");
>>> - Info.AsmRewrites->push_back(AsmRewrite(AOK_Label, IDLoc,
>>> - IDVal.size(),
>>> RewrittenLabel));
>>> + Info.AsmRewrites->emplace_back(AOK_Label, IDLoc, IDVal.size(),
>>> + RewrittenLabel);
>>> IDVal = RewrittenLabel;
>>> }
>>> Sym = getContext().getOrCreateSymbol(IDVal);
>>> @@ -4498,7 +4498,7 @@ bool AsmParser::parseDirectiveMSEmit(SML
>>> if (!isUIntN(8, IntValue) && !isIntN(8, IntValue))
>>> return Error(ExprLoc, "literal value out of range for directive");
>>>
>>> - Info.AsmRewrites->push_back(AsmRewrite(AOK_Emit, IDLoc, Len));
>>> + Info.AsmRewrites->emplace_back(AOK_Emit, IDLoc, Len);
>>> return false;
>>> }
>>>
>>> @@ -4514,8 +4514,7 @@ bool AsmParser::parseDirectiveMSAlign(SM
>>> if (!isPowerOf2_64(IntValue))
>>> return Error(ExprLoc, "literal value not a power of two greater
>>> then zero");
>>>
>>> - Info.AsmRewrites->push_back(
>>> - AsmRewrite(AOK_Align, IDLoc, 5, Log2_64(IntValue)));
>>> + Info.AsmRewrites->emplace_back(AOK_Align, IDLoc, 5,
>>> Log2_64(IntValue));
>>> return false;
>>> }
>>>
>>> @@ -4611,12 +4610,12 @@ bool AsmParser::parseMSInlineAsm(
>>> OutputDecls.push_back(OpDecl);
>>> OutputDeclsAddressOf.push_back(Operand.needAddressOf());
>>> OutputConstraints.push_back(("=" +
>>> Operand.getConstraint()).str());
>>> - AsmStrRewrites.push_back(AsmRewrite(AOK_Output, Start,
>>> SymName.size()));
>>> + AsmStrRewrites.emplace_back(AOK_Output, Start, SymName.size());
>>> } else {
>>> InputDecls.push_back(OpDecl);
>>> InputDeclsAddressOf.push_back(Operand.needAddressOf());
>>> InputConstraints.push_back(Operand.getConstraint().str());
>>> - AsmStrRewrites.push_back(AsmRewrite(AOK_Input, Start,
>>> SymName.size()));
>>> + AsmStrRewrites.emplace_back(AOK_Input, Start, SymName.size());
>>> }
>>> }
>>>
>>>
>>> Modified: llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp?rev=249940&r1=249939&r2=249940&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp (original)
>>> +++ llvm/trunk/lib/Target/X86/AsmParser/X86AsmParser.cpp Sat Oct 10
>>> 00:25:02 2015
>>> @@ -1072,8 +1072,8 @@ std::unique_ptr<X86Operand> X86AsmParser
>>> // Insert an explicit size if the user didn't have one.
>>> if (!Size) {
>>> Size = getPointerWidth();
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_SizeDirective,
>>> Start,
>>> - /*Len=*/0, Size));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_SizeDirective, Start,
>>> + /*Len=*/0, Size);
>>> }
>>>
>>> // Create an absolute memory reference in order to match against
>>> @@ -1092,8 +1092,8 @@ std::unique_ptr<X86Operand> X86AsmParser
>>> if (!Size) {
>>> Size = Info.Type * 8; // Size is in terms of bits in this context.
>>> if (Size)
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_SizeDirective,
>>> Start,
>>> - /*Len=*/0, Size));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_SizeDirective, Start,
>>> + /*Len=*/0, Size);
>>> }
>>> }
>>>
>>> @@ -1112,8 +1112,8 @@ RewriteIntelBracExpression(SmallVectorIm
>>> int64_t FinalImmDisp, SMLoc &BracLoc,
>>> SMLoc &StartInBrac, SMLoc &End) {
>>> // Remove the '[' and ']' from the IR string.
>>> - AsmRewrites->push_back(AsmRewrite(AOK_Skip, BracLoc, 1));
>>> - AsmRewrites->push_back(AsmRewrite(AOK_Skip, End, 1));
>>> + AsmRewrites->emplace_back(AOK_Skip, BracLoc, 1);
>>> + AsmRewrites->emplace_back(AOK_Skip, End, 1);
>>>
>>> // If ImmDisp is non-zero, then we parsed a displacement before the
>>> // bracketed expression (i.e., ImmDisp [ BaseReg + Scale*IndexReg +
>>> Disp])
>>> @@ -1143,7 +1143,7 @@ RewriteIntelBracExpression(SmallVectorIm
>>> // We have a symbolic and an immediate displacement, but no
>>> displacement
>>> // before the bracketed expression. Put the immediate
>>> displacement
>>> // before the bracketed expression.
>>> - AsmRewrites->push_back(AsmRewrite(AOK_Imm, BracLoc, 0,
>>> FinalImmDisp));
>>> + AsmRewrites->emplace_back(AOK_Imm, BracLoc, 0, FinalImmDisp);
>>> }
>>> }
>>> // Remove all the ImmPrefix rewrites within the brackets.
>>> @@ -1158,13 +1158,13 @@ RewriteIntelBracExpression(SmallVectorIm
>>> // Skip everything before the symbol.
>>> if (unsigned Len = SymLocPtr - StartInBrac.getPointer()) {
>>> assert(Len > 0 && "Expected a non-negative length.");
>>> - AsmRewrites->push_back(AsmRewrite(AOK_Skip, StartInBrac, Len));
>>> + AsmRewrites.emplace_back(AOK_Skip, StartInBrac, Len);
>>> }
>>> // Skip everything after the symbol.
>>> if (unsigned Len = End.getPointer() - (SymLocPtr + SymName.size())) {
>>> SMLoc Loc = SMLoc::getFromPointer(SymLocPtr + SymName.size());
>>> assert(Len > 0 && "Expected a non-negative length.");
>>> - AsmRewrites->push_back(AsmRewrite(AOK_Skip, Loc, Len));
>>> + AsmRewrites.emplace_back(AOK_Skip, Loc, Len);
>>> }
>>> }
>>>
>>> @@ -1233,8 +1233,7 @@ bool X86AsmParser::ParseIntelExpression(
>>> case AsmToken::Integer: {
>>> StringRef ErrMsg;
>>> if (isParsingInlineAsm() && SM.getAddImmPrefix())
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_ImmPrefix,
>>> - Tok.getLoc()));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_ImmPrefix,
>>> Tok.getLoc());
>>> // Look for 'b' or 'f' following an Integer as a directional label
>>> SMLoc Loc = getTok().getLoc();
>>> int64_t IntVal = getTok().getIntVal();
>>> @@ -1401,9 +1400,8 @@ bool X86AsmParser::ParseIntelIdentifier(
>>> Loc, false);
>>> assert(InternalName.size() && "We should have an internal name
>>> here.");
>>> // Push a rewrite for replacing the identifier name with the
>>> internal name.
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_Label, Loc,
>>> - Identifier.size(),
>>> - InternalName));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_Label, Loc,
>>> Identifier.size(),
>>> + InternalName);
>>> }
>>>
>>> // Create the symbol reference.
>>> @@ -1430,8 +1428,7 @@ X86AsmParser::ParseIntelSegmentOverride(
>>> AsmToken ImmDispToken = Parser.Lex(); // Eat the integer.
>>>
>>> if (isParsingInlineAsm())
>>> - InstInfo->AsmRewrites->push_back(
>>> - AsmRewrite(AOK_ImmPrefix, ImmDispToken.getLoc()));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_ImmPrefix,
>>> ImmDispToken.getLoc());
>>>
>>> if (getLexer().isNot(AsmToken::LBrac)) {
>>> // An immediate following a 'segment register', 'colon' token
>>> sequence can
>>> @@ -1600,8 +1597,7 @@ bool X86AsmParser::ParseIntelDotOperator
>>> SMLoc Loc = SMLoc::getFromPointer(DotDispStr.data());
>>> unsigned Len = DotDispStr.size();
>>> unsigned Val = OrigDispVal + DotDispVal;
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_DotOperator, Loc,
>>> Len,
>>> - Val));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_DotOperator, Loc, Len, Val);
>>> }
>>>
>>> NewDisp = MCConstantExpr::create(OrigDispVal + DotDispVal,
>>> getContext());
>>> @@ -1625,7 +1621,7 @@ std::unique_ptr<X86Operand> X86AsmParser
>>> return nullptr;
>>>
>>> // Don't emit the offset operator.
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_Skip, OffsetOfLoc,
>>> 7));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_Skip, OffsetOfLoc, 7);
>>>
>>> // The offset operator will have an 'r' constraint, thus we need to
>>> create
>>> // register operand to ensure proper matching. Just pick a GPR based
>>> on
>>> @@ -1676,7 +1672,7 @@ std::unique_ptr<X86Operand> X86AsmParser
>>> // Rewrite the type operator and the C or C++ type or variable in
>>> terms of an
>>> // immediate. E.g. TYPE foo -> $$4
>>> unsigned Len = End.getPointer() - TypeLoc.getPointer();
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_Imm, TypeLoc, Len,
>>> CVal));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_Imm, TypeLoc, Len, CVal);
>>>
>>> const MCExpr *Imm = MCConstantExpr::create(CVal, getContext());
>>> return X86Operand::CreateImm(Imm, Start, End);
>>> @@ -1723,10 +1719,10 @@ std::unique_ptr<X86Operand> X86AsmParser
>>> unsigned Len = Tok.getLoc().getPointer() - Start.getPointer();
>>> if (StartTok.getString().size() == Len)
>>> // Just add a prefix if this wasn't a complex immediate
>>> expression.
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_ImmPrefix,
>>> Start));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_ImmPrefix, Start);
>>> else
>>> // Otherwise, rewrite the complex expression as a single
>>> immediate.
>>> - InstInfo->AsmRewrites->push_back(AsmRewrite(AOK_Imm, Start,
>>> Len, Imm));
>>> + InstInfo->AsmRewrites->emplace_back(AOK_Imm, Start, Len, Imm);
>>> }
>>>
>>> if (getLexer().isNot(AsmToken::LBrac)) {
>>>
>>>
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>>
>>
>>
>
>
> --
> ~Craig
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151012/1cd30379/attachment.html>
More information about the llvm-commits
mailing list