forked from OSchip/llvm-project
Update to new sugared form in doc
PiperOrigin-RevId: 229544256
This commit is contained in:
parent
57fb7bcda6
commit
b5b7e61f7a
|
@ -99,31 +99,13 @@ def TF_AddOp : Op<"tf.Add", [NoSideEffect]>,
|
||||||
The inputs and result must be of the same elemental type.
|
The inputs and result must be of the same elemental type.
|
||||||
}];
|
}];
|
||||||
|
|
||||||
// FIXME: This is very much not the final form! There is a lot of boilerplate
|
|
||||||
// that will be removed in future iterations.
|
|
||||||
let reference = [{
|
let reference = [{
|
||||||
// Different Bindable ivs, one per loop in the loop nest.
|
auto ivs = makeBindables(lhsShape.size());
|
||||||
auto ivs = makeBindables(shapeA.size());
|
|
||||||
Bindable zero, one;
|
|
||||||
// Same bindable, all equal to `zero`.
|
|
||||||
SmallVector<Bindable, 8> zeros(ivs.size(), zero);
|
|
||||||
// Same bindable, all equal to `one`.
|
|
||||||
SmallVector<Bindable, 8> ones(ivs.size(), one);
|
|
||||||
Bindable A, B, C;
|
|
||||||
Stmt scalarA, scalarB, tmp;
|
|
||||||
block = edsc::Block({
|
block = edsc::Block({
|
||||||
ForNest(ivs, zeros, shapeA, ones, {
|
ForNest(ivs, 0, lhsShape, 1, {
|
||||||
scalarA = load(A, ivs),
|
result[ivs] = lhs[ivs] + rhs[ivs]
|
||||||
scalarB = load(B, ivs),
|
})});
|
||||||
tmp = scalarA + scalarB,
|
}
|
||||||
store(tmp, C, ivs)
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
emitter.bindConstant<ConstantIndexOp>(zero, 0)
|
|
||||||
.bindConstant<ConstantIndexOp>(one, 1)
|
|
||||||
.bind(A, memRefA)
|
|
||||||
.bind(B, memRefB)
|
|
||||||
.bind(C, memRefC);
|
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
Loading…
Reference in New Issue