[PATCH] D15798: Fix for Bug 24852 (crash with -debug -instcombine)

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 6 14:49:24 PST 2016


On Wed, Jan 6, 2016 at 2:47 PM, Duncan P. N. Exon Smith
<dexonsmith at apple.com> wrote:
>
>> On 2016-Jan-06, at 14:45, Xinliang David Li <davidxl at google.com> wrote:
>>
>> On Wed, Jan 6, 2016 at 2:44 PM, Than McIntosh <thanm at google.com> wrote:
>>> thanm added a comment.
>>>
>>>> This test case is quite large, can it be made smaller?
>>>
>>>
>>> Most of the size is from the "-g" metadata, however the crash does not happen without metadata (in particular, compiling without "-g" makes the problem go away).  I could try to edit the metadata by hand -- are there any guidelines or suggestions you could offer with that regard?
>>>
>>>> Also there are no changes to InstCombine, why are you running the pass?
>>>
>>>
>>> The test is intended to make sure that you can run instcombine with "-debug" and not crash.
>>>
>>> @joker.eph: I agree with your assessment.
>>>
>>>
>>> ================
>>> Comment at: lib/IR/AsmWriter.cpp:3157
>>> @@ -3156,3 +3156,3 @@
>>>     Out << Separator;
>>> -    if (Kind < MDNames.size()) {
>>> +    if (TheModule && Kind < MDNames.size()) {
>>>       Out << "!";
>>> ----------------
>>> joker.eph wrote:
>>>> Why do you need `TheModule` here?
>>> TheModule is a null pointer in the case where the instruction has no parent BB.
>>
>> This sounds like an invalid IR state ..
>
> Even so, the AsmWriter should print without crashing even with the IR is
> in a bad state.

true.

David

>
>> David
>>
>>>
>>>
>>> http://reviews.llvm.org/D15798
>>>
>>>
>>>
>


More information about the llvm-commits mailing list