Skip to content

LiveIntervals verifier errors not caught when using -run-pass #46217

@arsenm

Description

@arsenm
Bugzilla Link 46873
Version trunk
OS Linux
CC @qcolombet,@yuanfang-chen

Extended Description

When using -run-pass with a single pass, LiveIntervals is not available in the final verifier run, and thus does not catch broken live intervals introduced by the pass. This seems to only work correctly only if another non-verifier pass is forced to run after the pass you are trying to observe.

A workaround is to either force a run of another pass that needs LiveIntervals after the interesting pass, or to use -start-before/-start-after around the pass

e.g.
llc -run-pass=breaks-liveints -verify-machineinstrs foo.mir // No verifier error
llc -run-pass=breaks-liveints,somethingelse -verify-machineinstrs // Verifier error
llc -start-before=breaks-liveints -stop-after=somethingelse -verify-machineinstrs // Verifier error

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions