Skip to content

LICM crash, "Uses remain when a value is destroyed" #1280

Closed
@nlewycky

Description

@nlewycky
Bugzilla Link 908
Resolution FIXED
Resolved on Nov 07, 2018 00:17
Version trunk
OS All
Attachments simplified testcase

Extended Description

MultiSource/Applications/oggenc picked up a failure in the nightly run. It
appears to be in the loop invariant code motion pass. Here's what happens:

$ ~/llvm/Debug/bin/opt -licm bugpoint-reduced-simplified.bc
WARNING: You're attempting to print out a bytecode file.
This is inadvisable as it may cause display problems. If
you REALLY want to taste LLVM bytecode first-hand, you
can force output with the `-f' option.

While deleting: uint %tmp16.i
Use still stuck around after Def is destroyed: %exitcond155 = seteq uint 0,
%tmp16.i ; [#uses=0]

opt: Value.cpp:59: virtual llvm::Value::~Value(): Assertion `use_begin() ==
use_end() && "Uses remain when a value is destroyed!"' failed.
/home/nicholas/llvm/Debug/bin/opt((anonymous
namespace)::PrintStackTrace()+0x1a)[0x873245c]
/home/nicholas/llvm/Debug/bin/opt((anonymous
namespace)::SignalHandler(int)+0x110)[0x8732720]
[0xffffe500]
Aborted

Metadata

Metadata

Assignees

Labels

bugzillaIssues migrated from bugzillacompile-failUse [accepts-invalid] and [rejects-valid] insteadloopoptim

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions