[llvm] [AMDGPU][MC] Allow UC_VERSION_* constant reuse (PR #96461)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 24 05:01:05 PDT 2024
================
@@ -2366,8 +2366,12 @@ const MCExpr *AMDGPUDisassembler::createConstantSymbolExpr(StringRef Id,
int64_t Val) {
MCContext &Ctx = getContext();
MCSymbol *Sym = Ctx.getOrCreateSymbol(Id);
- assert(!Sym->isVariable());
- Sym->setVariableValue(MCConstantExpr::create(Val, Ctx));
+ int64_t Res = ~Val;
+ assert(!Sym->isVariable() ||
+ (Sym->getVariableValue()->evaluateAsAbsolute(Res) && Res == Val));
+ (void)Res;
----------------
jayfoad wrote:
This makes me question whether implementing `UC_VERSION_*` as symbols _that the user can redefine_ was the best choice in the first place. But I don't have any alternative suggestion.
https://github.com/llvm/llvm-project/pull/96461
More information about the llvm-commits
mailing list