[PATCH] D99087: [RISCV] Fix stack slot for argument types (Bug 49500)

Fraser Cormack via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 13 03:11:19 PDT 2021


frasercrmck added a comment.

In D99087#2685260 <https://reviews.llvm.org/D99087#2685260>, @luismarques wrote:

>> Yeah it's interesting. Sorry, I haven't had time to investigate yet. I'll do that today. Have you taken a look, by any chance?
>
> Sorry, I didn't.

No worries. I just noticed my latest "pref" diff mistakenly changed the initial `StackAlign` from `max(align(ArgValueVT), align(Outs[i].ArgVT))` to `max(prefalign(ArgValueVT), prefalign(ArgValueVT))`. I now think that this is where the diffs came from. The align of the `Outs[i].ArgVT` type is often likely larger than the split type (like `i128` vs. `XLEN`), so by removing it we reduce the stack size.

Right now I suspect I should revert this back to the preferred alignment of `Outs[i].ArgVT` so we're at least keeping the same alignment (or safely increasing it to the split type). Any thoughts?

I don't know if we strictly need the alignment of the original type or not.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D99087



More information about the llvm-commits mailing list