[llvm] [AMDGPU] MCExpr printing helper with KnownBits support (PR #95951)
Pierre van Houtryve via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 13 04:29:33 PDT 2024
================
@@ -329,24 +335,17 @@ void AMDGPUTargetAsmStreamer::EmitAmdhsaKernelDescriptor(
auto PrintField = [&](const MCExpr *Expr, uint32_t Shift, uint32_t Mask,
StringRef Directive) {
- int64_t IVal;
OS << "\t\t" << Directive << ' ';
- const MCExpr *pgm_rsrc1_bits =
+ const MCExpr *ShiftedAndMaskedExpr =
MCKernelDescriptor::bits_get(Expr, Shift, Mask, getContext());
- if (pgm_rsrc1_bits->evaluateAsAbsolute(IVal))
- OS << static_cast<uint64_t>(IVal);
- else
- pgm_rsrc1_bits->print(OS, MAI);
+ const MCExpr *New = llvm::TryFold(ShiftedAndMaskedExpr, getContext());
+ llvm::AMDGPUMCExprPrint(New, OS, MAI);
OS << '\n';
};
auto EmitMCExpr = [&](const MCExpr *Value) {
- int64_t evaluatableValue;
- if (Value->evaluateAsAbsolute(evaluatableValue)) {
- OS << static_cast<uint64_t>(evaluatableValue);
- } else {
- Value->print(OS, MAI);
- }
+ const MCExpr *NewExpr = llvm::TryFold(Value, getContext());
----------------
Pierre-vh wrote:
same here and below, do we need `llvm::`?
https://github.com/llvm/llvm-project/pull/95951
More information about the llvm-commits
mailing list