Skip to content

Commit 8ddce91

Browse files
committed
Removed quadratic append
1 parent 02b41ce commit 8ddce91

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/fsharp/IlxGen.fs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5121,13 +5121,14 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau
51215121
and GenDecisionTreeCases cgbuf stackAtTargets eenv defaultTargetOpt caseLabels cases =
51225122
assert(cgbuf.GetCurrentStack() = stackAtTargets) // cgbuf stack should be unchanged over tests. [bug://1750].
51235123

5124-
let decisions =
5124+
let defaultDecisions =
51255125
match defaultTargetOpt with
51265126
| Some defaultTarget -> [(None, eenv, defaultTarget)]
51275127
| None -> []
51285128

5129-
(decisions, caseLabels, cases)
5130-
|||> List.fold2 (fun decisions caseLabel (TCase(_, caseTree)) -> decisions @ [(Some caseLabel, eenv, caseTree)])
5129+
(caseLabels, cases)
5130+
||> List.map2 (fun caseLabel (TCase(_, caseTree)) -> (Some caseLabel, eenv, caseTree))
5131+
|> List.append defaultDecisions
51315132

51325133
// Used for the peephole optimization below
51335134
and (|BoolExpr|_|) = function Expr.Const (Const.Bool b1, _, _) -> Some b1 | _ -> None

0 commit comments

Comments
 (0)