[PATCH] D42534: [mips] Compute MaxCallFrame size early on

Simon Dardis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 29 03:15:52 PST 2018


sdardis added a subscriber: MatzeB.
sdardis added a comment.

+CC'ing @MatzeB for additional insight on what needs to be changed.

Found the bug. What's occurring with the debug information test failures with this patch, is that during the insertion of debug instructions for function arguments, it has to determine which register to assign to the debug instruction, see SelectionDAGISel.cpp:505. Here it asks for the frame pointer register which for some RISC like targets by the size of the frame for the function.

It seems to me that we need to compute the max call frame size before that point (SelectionDAGISel.cpp:505) for targets which use call frame setup and destroy pseudo instructions, this however requires changes for every target which implements finalizeLowering() to compute the maxCallFrameSize.


https://reviews.llvm.org/D42534





More information about the llvm-commits mailing list