In my previous post, LLVM integrated assembler: Improving MCExpr and MCValue delved into enhancements made to LLVM's internal MCExpr and MCValue representations. This post covers recent refinements to MC, focusing on expression resolving and relocation generation.
Symbol equating directives
In GNU Assembler, the following directives are called symbol equating. I have re-read its documentation https://sourceware.org/binutils/docs/as.html. Yes, it uses "equating" instead of "assignment" or "definition".
symbol = expression
(multiple=
on the same symbol is allowed).set symbol, expression
(equivalent to=
).equ symbol, expression
(equivalent to=
).equiv symbol, expression
(redefinition leads to errors).eqv symbol, expression
(lazy evaluation, not implemented in LLVM integrated assembler)