[#llvm-operator_and_eq-03] = xref:llvm.adoc[llvm]::operator&= :relfileprefix: ../ :mrdocs: Bitwise conjunction assignment operators == Synopses Declared in `<llvm/Transforms/IPO/Attributor.h>` Assign CHANGED only if both operands are CHANGED. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:llvm/ChangeStatus.adoc[ChangeStatus]& xref:llvm/operator_and_eq-0a.adoc[operator&=]( xref:llvm/ChangeStatus.adoc[ChangeStatus]& l, xref:llvm/ChangeStatus.adoc[ChangeStatus] r); ---- [.small]#xref:llvm/operator_and_eq-0a.adoc[_» more..._]# Intersect `LHS` with `*RHS` in place. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<unsigned int ElementSize> bool xref:llvm/operator_and_eq-00.adoc[operator&=]( xref:llvm/SparseBitVector.adoc[SparseBitVector<ElementSize>]& LHS, xref:llvm/SparseBitVector.adoc[SparseBitVector<ElementSize>] const* RHS); ---- [.small]#xref:llvm/operator_and_eq-00.adoc[_» more..._]# Intersect `*LHS` with `RHS` in place. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<unsigned int ElementSize> bool xref:llvm/operator_and_eq-09.adoc[operator&=]( xref:llvm/SparseBitVector.adoc[SparseBitVector<ElementSize>]* LHS, xref:llvm/SparseBitVector.adoc[SparseBitVector<ElementSize>] const& RHS); ---- [.small]#xref:llvm/operator_and_eq-09.adoc[_» more..._]# == Return Value * Whether the state or IR changed. * True if any bit in `LHS` changed. * True if any bit in `*LHS` changed. == Parameters [cols="1,4"] |=== | Name| Description | *l* | The left‐hand change status (updated in place). | *r* | The right‐hand change status. | *LHS* | Sparse bit vector updated in place. | *RHS* | Pointer to the sparse bit vector whose bits are retained. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#