[PATCH] D92803: [SystemZFrameLowering] Make sure R1 holding the backchain is not corrupted by probing

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 9 12:19:31 PST 2020


jonpa added a comment.

In D92803#2443137 <https://reviews.llvm.org/D92803#2443137>, @uweigand wrote:

> I think it still makes sense to have the backchain store local in inlineStackProbe.
>
> In fact, I think it would be best to have the backchain store in every iteration of the loop, i.e. to the store in allocateAndProbe (of course that means the store then implicitly acts as probe so we don't need the volatile compare any more if we have a backchain).

I remember there was an issue with "store tags" which we are handling for instance when we do loop-unrolling. But maybe that is not an issue any more on newer machines (and maybe we don't need to consider that in unrolling then either)?

>   // The back chain is stored topmost with packed-stack.
>   int Offset = usePackedStack(MF) ? SystemZMC::CallFrameSize - 8 : 0;
>
> Given that this is now duplicated, maybe it would make sense to have that logic in a separate function "getBackchainOffset(MF)" or the like.




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

https://reviews.llvm.org/D92803



More information about the llvm-commits mailing list