diff options
Diffstat (limited to 'src/analyzer.js')
| -rw-r--r-- | src/analyzer.js | 10 | 
1 files changed, 6 insertions, 4 deletions
| diff --git a/src/analyzer.js b/src/analyzer.js index 0c362eff..d8439a99 100644 --- a/src/analyzer.js +++ b/src/analyzer.js @@ -673,12 +673,14 @@ function analyzer(data) {                    var lastLine = sourceLabel.lines.slice(-1)[0];                    assert(lastLine.intertype in LLVM.PHI_REACHERS, 'Only some can lead to labels with phis, line ' + [func.ident, label.ident]);                    if (!lastLine.phi) { -                    // We store the phi assignments in the branch's params (which are otherwise unused)                      lastLine.phi = true; -                    assert(!lastLine.params); -                    lastLine.params = []; +                    assert(!lastLine.dependent); +                    lastLine.dependent = { +                      intertype: 'phiassigns', +                      params: [] +                    };                    }; -                  lastLine.params.push({ +                  lastLine.dependent.params.push({                      intertype: 'phiassign',                      ident: line.ident,                      value: param.value, | 
