[llvm] r175023 - Debug Info: LiveDebugVarible can remove DBG_VALUEs, make sure we emit them back.

Andrew Trick atrick at apple.com
Wed Feb 13 10:57:44 PST 2013


On Feb 13, 2013, at 10:46 AM, Manman Ren <mren at apple.com> wrote:

> 
> Hi Andy,
> 
> This is causing a bot failure, do you know what is wrong?

Yep. Fairly obvious pasto. A fix will be in shortly.
-Andy

> ******************** TEST 'LLVM :: DebugInfo/X86/misched-dbg-value.ll' FAILED ********************
> Script:
> --
> /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/Debug+Asserts/bin/llc /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/test/DebugInfo/X86/misched-dbg-value.ll -mtriple=x86_64-apple-darwin -filetype=obj -o /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/test/DebugInfo/X86/Output/misched-dbg-value.ll.tmp -enable-misched
> /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/Debug+Asserts/bin/llvm-dwarfdump /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/test/DebugInfo/X86/Output/misched-dbg-value.ll.tmp | /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/Debug+Asserts/bin/FileCheck /build/buildbot/osu8/llvm-x86_64-linux-vg_leak/llvm/test/DebugInfo/X86/misched-dbg-value.ll
> --
> Exit Code: 123
> Command Output (stderr):
> --
> ==24760== 192 (176 direct, 16 indirect) bytes in 2 blocks are definitely lost in loss record 12 of 13
> ==24760==    at 0x4C29C97: operator new(unsigned long) (vg_replace_malloc.c:298)
> ==24760==    by 0x11BEE68: llvm::TargetInstrInfo::CreateTargetMIHazardRecognizer(llvm::InstrItineraryData const*, llvm::ScheduleDAG const*) const (TargetInstrInfo.cpp:558)
> ==24760==    by 0x10E1283: (anonymous namespace)::ConvergingScheduler::initialize(llvm::ScheduleDAGMI*) (MachineScheduler.cpp:1238)
> ==24760==    by 0x10DEB82: llvm::ScheduleDAGMI::schedule() (MachineScheduler.cpp:521)
> ==24760==    by 0x10DD9AC: (anonymous namespace)::MachineScheduler::runOnMachineFunction(llvm::MachineFunction&) (MachineScheduler.cpp:274)
> ==24760==    by 0x10AC5FC: llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (MachineFunctionPass.cpp:33)
> ==24760==    by 0x151830C: llvm::FPPassManager::runOnFunction(llvm::Function&) (PassManager.cpp:1530)
> ==24760==    by 0x15184FD: llvm::FPPassManager::runOnModule(llvm::Module&) (PassManager.cpp:1550)
> ==24760==    by 0x151885A: llvm::MPPassManager::runOnModule(llvm::Module&) (PassManager.cpp:1608)
> ==24760==    by 0x1518E5C: llvm::PassManagerImpl::run(llvm::Module&) (PassManager.cpp:1703)
> ==24760==    by 0x151906E: llvm::PassManager::run(llvm::Module&) (PassManager.cpp:1738)
> ==24760==    by 0x853B10: compileModule(char**, llvm::LLVMContext&) (llc.cpp:376)
> ==24760== 
> ==24760== 192 (176 direct, 16 indirect) bytes in 2 blocks are definitely lost in loss record 13 of 13
> ==24760==    at 0x4C29C97: operator new(unsigned long) (vg_replace_malloc.c:298)
> ==24760==    by 0x11BEE68: llvm::TargetInstrInfo::CreateTargetMIHazardRecognizer(llvm::InstrItineraryData const*, llvm::ScheduleDAG const*) const (TargetInstrInfo.cpp:558)
> ==24760==    by 0x10E12C3: (anonymous namespace)::ConvergingScheduler::initialize(llvm::ScheduleDAGMI*) (MachineScheduler.cpp:1239)
> ==24760==    by 0x10DEB82: llvm::ScheduleDAGMI::schedule() (MachineScheduler.cpp:521)
> ==24760==    by 0x10DD9AC: (anonymous namespace)::MachineScheduler::runOnMachineFunction(llvm::MachineFunction&) (MachineScheduler.cpp:274)
> ==24760==    by 0x10AC5FC: llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (MachineFunctionPass.cpp:33)
> ==24760==    by 0x151830C: llvm::FPPassManager::runOnFunction(llvm::Function&) (PassManager.cpp:1530)
> ==24760==    by 0x15184FD: llvm::FPPassManager::runOnModule(llvm::Module&) (PassManager.cpp:1550)
> ==24760==    by 0x151885A: llvm::MPPassManager::runOnModule(llvm::Module&) (PassManager.cpp:1608)
> ==24760==    by 0x1518E5C: llvm::PassManagerImpl::run(llvm::Module&) (PassManager.cpp:1703)
> ==24760==    by 0x151906E: llvm::PassManager::run(llvm::Module&) (PassManager.cpp:1738)
> ==24760==    by 0x853B10: compileModule(char**, llvm::LLVMContext&) (llc.cpp:376)
> 
> 
> On Feb 13, 2013, at 9:23 AM, Eric Christopher <echristo at gmail.com> wrote:
> 
>> 
>> 
>> On Wed, Feb 13, 2013 at 9:20 AM, Andrew Trick <atrick at apple.com> wrote:
>> 
>> On Feb 12, 2013, at 10:00 PM, Eric Christopher <echristo at gmail.com> wrote:
>>>> 
>>> 
>>>>  Any reason why these aren't going into the pass impl?
>>> They can be put in the pass impl. Is there an advantage of one vs. the other?
>>> 
>>> 
>>> *shrug* Everything else in the implementation of the pass is in there... I'm at a loss on occasion why some things have pImpls. :)
>>>  
>> 
>> Private non-inline stuff should be in the pImpl. Sorry I missed that when I reviewed the diff.
>> 
>> The MI sched specific test case is needed to hit this assertion. It invalidates LDV, which would then rerun on machine code sans-DGB_VALUEs. Not good.
>> 
>> Aha, that makes everything make a lot more sense.
>> 
>> Thanks Andy.
>> 
>> -eric 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130213/8bceb739/attachment.html>


More information about the llvm-commits mailing list