Files
Alexey Bataev 18053e3c6a [SLP]Bail out on non-schedulable expanded binop with multi-use operand
In tryScheduleBundle's DoesNotRequireScheduling path, an expanded binop
(shl X, 1 modeled as add X, X) doubles the dependency count of the
duplicated operand. Unlike the regular scheduling path, this branch does
not clear stale operand ScheduleData dependencies, so when that operand
has more uses than this bundle member the schedule's decrement count
exceeds calculateDependencies' increment count and UnscheduledDeps goes
negative, hitting "Expected valid number of unscheduled deps".

Fixes #194303.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/194420
2026-04-27 13:40:11 -04:00
..
2026-03-20 11:59:59 -04:00