Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MachineScheduler: "No live value at use." assert #27480

Open
MatzeB opened this issue Mar 29, 2016 · 5 comments
Open

MachineScheduler: "No live value at use." assert #27480

MatzeB opened this issue Mar 29, 2016 · 5 comments
Labels
bugzilla Issues migrated from bugzilla llvm:codegen

Comments

@MatzeB
Copy link
Contributor

MatzeB commented Mar 29, 2016

Bugzilla Link 27106
Version trunk
OS All
Attachments reproducer
CC @nhaehnle,@JonPsson,@qcolombet

Extended Description

r262767 triggered the "No live value at use." assert in the MachineScheduler for the attached testcase reported by Nicolai Hähnle-Montoro.

See also http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20160321/341496.html and previous mails.

@MatzeB
Copy link
Contributor Author

MatzeB commented Mar 29, 2016

Here's a status update: Interestingly this testcase exhibits two problems:

  • The register coalescer producing invalid live ranges when the removal of a COPY uncovers hidden dead defs (which would mean we have to shrink the liverange instead of forming the union of the src and dst register liverange). This is addressed by this new pass that detects hidden dead defs+uses early: http://reviews.llvm.org/D18427

  • There's a second problem where RegisterPressure tracker was accidentally tracking subregister lane liveness in a subreg enabled target even though lanemask tracking in the MachineScheduler was not enabled yet. This led to subtle inconcsistencies. I have a patch for that which I will commit after some cleanup.

@MatzeB
Copy link
Contributor Author

MatzeB commented Mar 29, 2016

r264696 fixes the second part mentioned in comment #​1

@JonPsson
Copy link
Contributor

JonPsson commented Oct 6, 2018

New unreduced test case
bin/clang -O3 -march=z13 crash5.i -o a.out -w -mllvm -disable-machine-dce -mllvm -disable-cgp -mllvm -enable-simple-loop-unswitch -mllvm -disable-basicaa

@JonPsson
Copy link
Contributor

JonPsson commented Jun 1, 2019

Ping!

Saw this again in testing. At least my test case of 2018-10-06 is still failing.

@JonPsson
Copy link
Contributor

reduced testcase
This is a very small test case that might be nice to look at for this:

llc -O3 -mcpu=z15 tc_vni.mir -o - -misched=ilpmax -start-before=simple-register-coalescing

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla llvm:codegen
Projects
None yet
Development

No branches or pull requests

2 participants