Skip to content

Commit 8e1b49c

Browse files
authored
Complex deinterleaving/single reductions build fix Reapply "Add support for single reductions in ComplexDeinterleavingPass (llvm#112875)" (llvm#120441)
This reverts commit 76714be, fixing the build failure that caused the revert. The failure stemmed from the complex deinterleaving pass identifying a series of add operations as a "complex to single reduction", so when it tried to transform this erroneously identified pattern, it faulted. The fix applied is to ensure that complex numbers (or patterns that match them) are used throughout, by checking if there is a deinterleave node amidst the graph.
1 parent 3c5f269 commit 8e1b49c

File tree

5 files changed

+1535
-25
lines changed

5 files changed

+1535
-25
lines changed

llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ struct ComplexDeinterleavingPass
3535
enum class ComplexDeinterleavingOperation {
3636
CAdd,
3737
CMulPartial,
38+
CDot,
3839
// The following 'operations' are used to represent internal states. Backends
3940
// are not expected to try and support these in any capacity.
4041
Deinterleave,
@@ -43,6 +44,7 @@ enum class ComplexDeinterleavingOperation {
4344
ReductionPHI,
4445
ReductionOperation,
4546
ReductionSelect,
47+
ReductionSingle
4648
};
4749

4850
enum class ComplexDeinterleavingRotation {

0 commit comments

Comments
 (0)