[PATCH] D152222: [RISCV] Fix the num of chain SDNode introduced in 9e0f9f113248093e737c4cf5450f0a3c2bcd90ba

Zixuan Wu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 5 22:45:24 PDT 2023

zixuan-wu added a comment.

> It’s not legal to replace the chain result of the original node wasn’t deleted. We would need to insert a TokenFactor to collect the chains from the new and old load and replace all uses of the old load’s chain with the TokenFactor result.

OK, using TokenFactor is more formal, and I agree with it. But it's another issue to enhance the code, we still need think about load update load.

> It’s also not legal to duplicate a volatile load. I suspect we didn’t check that.

I aggree.

> I think we should disable the load update case in isLegalToFold or isProfitableToFold.

Why is load update not profitable or legal? I don't see any difference with normal load.

  rG LLVM Github Monorepo



More information about the llvm-commits mailing list