Skip to content

Commit c85020f

Browse files
committed
Remove lambda
1 parent e3960ac commit c85020f

File tree

1 file changed

+51
-38
lines changed

1 file changed

+51
-38
lines changed

llvm/lib/IR/VectorBuilder.cpp

Lines changed: 51 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -63,44 +63,57 @@ Value *VectorBuilder::createVectorInstruction(unsigned Opcode, Type *ReturnTy,
6363
Value *VectorBuilder::createSimpleTargetReduction(RecurKind Kind, Type *ValTy,
6464
ArrayRef<Value *> InstOpArray,
6565
const Twine &Name) {
66-
auto GetForRecurKind = [](RecurKind Kind) {
67-
switch (Kind) {
68-
case RecurKind::Add:
69-
return Intrinsic::vp_reduce_add;
70-
case RecurKind::Mul:
71-
return Intrinsic::vp_reduce_mul;
72-
case RecurKind::And:
73-
return Intrinsic::vp_reduce_and;
74-
case RecurKind::Or:
75-
return Intrinsic::vp_reduce_or;
76-
case RecurKind::Xor:
77-
return Intrinsic::vp_reduce_xor;
78-
case RecurKind::FMulAdd:
79-
case RecurKind::FAdd:
80-
return Intrinsic::vp_reduce_fadd;
81-
case RecurKind::FMul:
82-
return Intrinsic::vp_reduce_fmul;
83-
case RecurKind::SMax:
84-
return Intrinsic::vp_reduce_smax;
85-
case RecurKind::SMin:
86-
return Intrinsic::vp_reduce_smin;
87-
case RecurKind::UMax:
88-
return Intrinsic::vp_reduce_umax;
89-
case RecurKind::UMin:
90-
return Intrinsic::vp_reduce_umin;
91-
case RecurKind::FMax:
92-
return Intrinsic::vp_reduce_fmax;
93-
case RecurKind::FMin:
94-
return Intrinsic::vp_reduce_fmin;
95-
case RecurKind::FMaximum:
96-
return Intrinsic::vp_reduce_fmaximum;
97-
case RecurKind::FMinimum:
98-
return Intrinsic::vp_reduce_fminimum;
99-
default:
100-
llvm_unreachable("No VPIntrinsic for this reduction");
101-
}
102-
};
103-
auto VPID = GetForRecurKind(Kind);
66+
Intrinsic::ID VPID;
67+
switch (Kind) {
68+
case RecurKind::Add:
69+
VPID = Intrinsic::vp_reduce_add;
70+
break;
71+
case RecurKind::Mul:
72+
VPID = Intrinsic::vp_reduce_mul;
73+
break;
74+
case RecurKind::And:
75+
VPID = Intrinsic::vp_reduce_and;
76+
break;
77+
case RecurKind::Or:
78+
VPID = Intrinsic::vp_reduce_or;
79+
break;
80+
case RecurKind::Xor:
81+
VPID = Intrinsic::vp_reduce_xor;
82+
break;
83+
case RecurKind::FMulAdd:
84+
case RecurKind::FAdd:
85+
VPID = Intrinsic::vp_reduce_fadd;
86+
break;
87+
case RecurKind::FMul:
88+
VPID = Intrinsic::vp_reduce_fmul;
89+
break;
90+
case RecurKind::SMax:
91+
VPID = Intrinsic::vp_reduce_smax;
92+
break;
93+
case RecurKind::SMin:
94+
VPID = Intrinsic::vp_reduce_smin;
95+
break;
96+
case RecurKind::UMax:
97+
VPID = Intrinsic::vp_reduce_umax;
98+
break;
99+
case RecurKind::UMin:
100+
VPID = Intrinsic::vp_reduce_umin;
101+
break;
102+
case RecurKind::FMax:
103+
VPID = Intrinsic::vp_reduce_fmax;
104+
break;
105+
case RecurKind::FMin:
106+
VPID = Intrinsic::vp_reduce_fmin;
107+
break;
108+
case RecurKind::FMaximum:
109+
VPID = Intrinsic::vp_reduce_fmaximum;
110+
break;
111+
case RecurKind::FMinimum:
112+
VPID = Intrinsic::vp_reduce_fminimum;
113+
break;
114+
default:
115+
llvm_unreachable("No VPIntrinsic for this reduction");
116+
}
104117
return createVectorInstructionImpl(VPID, ValTy, InstOpArray, Name);
105118
}
106119

0 commit comments

Comments
 (0)