[llvm] r243057 - fix crash in machine trace metrics due to processing dbg_value instructions (PR24199)

Hans Wennborg hans at chromium.org
Thu Jul 30 10:18:22 PDT 2015


Since Evan seems to be unavailable, and this has been in trunk for
almost a week without issues, I'll go ahead and merge it.

r243662.

 - Hans


On Wed, Jul 29, 2015 at 10:16 AM, Hans Wennborg <hans at chromium.org> wrote:
> Ping?
>
> On Mon, Jul 27, 2015 at 1:25 PM, Hans Wennborg <hans at chromium.org> wrote:
>> Ping?
>>
>> On Fri, Jul 24, 2015 at 9:28 AM, Hans Wennborg <hans at chromium.org> wrote:
>>> Seems reasonable.
>>>
>>> Evan, I believe you're the code owner here. OK to merge to 3.7?
>>>
>>> On Fri, Jul 24, 2015 at 8:57 AM, Robinson, Paul
>>> <Paul_Robinson at playstation.sony.com> wrote:
>>>> Can we please have this merged to the 3.7 branch?
>>>> Thanks,
>>>> --paulr
>>>>
>>>>> -----Original Message-----
>>>>> From: llvm-commits-bounces at cs.uiuc.edu [mailto:llvm-commits-
>>>>> bounces at cs.uiuc.edu] On Behalf Of Sanjay Patel
>>>>> Sent: Thursday, July 23, 2015 3:57 PM
>>>>> To: llvm-commits at cs.uiuc.edu
>>>>> Subject: [llvm] r243057 - fix crash in machine trace metrics due to
>>>>> processing dbg_value instructions (PR24199)
>>>>>
>>>>> Author: spatel
>>>>> Date: Thu Jul 23 17:56:53 2015
>>>>> New Revision: 243057
>>>>>
>>>>> URL: http://llvm.org/viewvc/llvm-project?rev=243057&view=rev
>>>>> Log:
>>>>> fix crash in machine trace metrics due to processing dbg_value
>>>>> instructions (PR24199)
>>>>>
>>>>> The test in PR24199 ( https://llvm.org/bugs/show_bug.cgi?id=24199 )
>>>>> crashes because machine
>>>>> trace metrics was not ignoring dbg_value instructions when calculating
>>>>> data dependencies.
>>>>>
>>>>> The machine-combiner pass asks machine trace metrics to calculate an
>>>>> instruction trace,
>>>>> does some reassociations, and calls
>>>>> MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval()
>>>>> along with MachineTraceMetrics::invalidate(). The dbg_value instructions
>>>>> have their operands
>>>>> invalidated, but the instructions are not expected to be deleted.
>>>>>
>>>>> On a subsequent loop iteration of the machine-combiner pass, machine trace
>>>>> metrics would be
>>>>> called again and die while accessing the invalid debug instructions.
>>>>>
>>>>> Differential Revision: http://reviews.llvm.org/D11423



More information about the llvm-commits mailing list