[llvm] r260949 - [Hexagon] Hoist nonnull assert up.

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 17 01:33:55 PST 2016


On Wed, Feb 17, 2016 at 2:27 AM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Tue, Feb 16, 2016 at 1:53 AM, Benjamin Kramer via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>>
>> Author: d0k
>> Date: Tue Feb 16 03:53:47 2016
>> New Revision: 260949
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=260949&view=rev
>> Log:
>> [Hexagon] Hoist nonnull assert up.
>>
>> Once a pointer is turned into a reference it cannot be nullptr, clang
>> rightfully warns about this assert being a tautology. Put the assert
>> before the reference is created.
>>
>> Modified:
>>     llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
>>     llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
>>
>> Modified: llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp?rev=260949&r1=260948&r2=260949&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp Tue Feb
>> 16 03:53:47 2016
>> @@ -592,7 +592,6 @@ public:
>>
>>    static std::unique_ptr<HexagonOperand> CreateImm(const MCExpr *Val,
>> SMLoc S,
>>                                                     SMLoc E) {
>> -    assert(&HexagonMCInstrInfo::getExpr(*Val) != nullptr);
>>      HexagonOperand *Op = new HexagonOperand(Immediate);
>>      Op->Imm.Val = Val;
>>      Op->Imm.MustExtend = false;
>>
>> Modified:
>> llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp?rev=260949&r1=260948&r2=260949&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCInstrInfo.cpp Tue
>> Feb 16 03:53:47 2016
>> @@ -193,6 +193,7 @@ MCInstrDesc const &HexagonMCInstrInfo::g
>>
>>  MCExpr const &HexagonMCInstrInfo::getExpr(MCExpr const &Expr) {
>>    HexagonMCExpr const &HExpr = *llvm::cast<HexagonMCExpr>(&Expr);
>
>
> Speaking of weird null/reference things, perhaps we can drop the &/* in this
> line ^ since llvm::cast supports casting refs?

r261077, thanks for the suggestion :)

>>
>> +  assert(HExpr.getExpr());
>>    return *HExpr.getExpr();
>>  }
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>


More information about the llvm-commits mailing list