[PATCH] D152236: [RISCV] Add special case to selectImm for constants that can be created with (ADD (SLLI C, 32), C).

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 6 00:59:57 PDT 2023


asb added a comment.

I'd not really explored such materialisations before as adding another dimension to cost modeling (register usage) felt difficult to reason about...but intuitively I can't see spending an extra register being problematic in this specific case where a constant pool would have been used, and given how relatively register rich RISC-V is.

I am however seeing some compile failures for this e.g. 20000523-1.c from the GCC torture suite (e.g. compiled rv64imafdc for lp64 ABI at O0)

  /home/asb/llvm-project/llvm/lib/MC/MCInst.cpp:58: bool llvm::MCOperand::isBareSymbolRef() const: Assertion `isExpr() && "isBareSymbolRef expects only expressions"' failed.
  ...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D152236/new/

https://reviews.llvm.org/D152236



More information about the llvm-commits mailing list