[PATCH] D132080: RegisterClassInfo: Fix CSR cache invalidation

Nigel Perks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 22 01:20:29 PDT 2022


nigelp-xmos added a comment.

Thanks for the pointer to the XCore test. There are a couple of issues:

(1) An extra stack slot is being allocated, leaving a slot unused. A register is being saved in high memory (bottom of stack) instead of near SP, even though XCore useFPForScavengingIndex() returns false, to save near SP. A extra constant appears in the constant pool, holding this large offset.

(2) When I delete the first function (f), the second function (ScavengeSlots) generates the same code as before this patch. So there seems to be some kind of new dependency on previous state, previous functions.

So I will look into this a bit more. Do you know where state might be affecting code generation?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132080



More information about the llvm-commits mailing list