phi.AddIncoming fix: use checkExpr

This commit is contained in:
xushiwei
2024-06-25 13:31:44 +08:00
parent 5448abb304
commit 1298118b59

View File

@@ -290,10 +290,12 @@ type Phi struct {
// AddIncoming adds incoming values to a phi node. // AddIncoming adds incoming values to a phi node.
func (p Phi) AddIncoming(b Builder, preds []BasicBlock, f func(i int, blk BasicBlock) Expr) { func (p Phi) AddIncoming(b Builder, preds []BasicBlock, f func(i int, blk BasicBlock) Expr) {
raw := p.raw.Type
bs := llvmPredBlocks(preds) bs := llvmPredBlocks(preds)
vals := make([]llvm.Value, len(preds)) vals := make([]llvm.Value, len(preds))
for iblk, blk := range preds { for iblk, blk := range preds {
vals[iblk] = f(iblk, blk).impl val := f(iblk, blk)
vals[iblk] = checkExpr(val, raw, b).impl
} }
p.impl.AddIncoming(vals, bs) p.impl.AddIncoming(vals, bs)
} }