Skip to content

Commit b3eede5

Browse files
authored
Add support for single reductions in ComplexDeinterleavingPass (#112875)
The Complex Deinterleaving pass assumes that all values emitted will result in complex numbers, this patch aims to remove that assumption and adds support for emitting just the real or imaginary components, not both.
1 parent f8d2704 commit b3eede5

File tree

4 files changed

+1434
-25
lines changed

4 files changed

+1434
-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)