I actually managed to solve my own problem. If anyone has a
similar issue in the future, this is what I did:
I marked the return address register as being callee saved in
both calling conventions. In determineCalleeSaves I then check
whether there is a function call that uses the new calling
convention. If so, I mark the return address reg as being required
to be spilled. This way I basically get a caller-save behavior and
can use the already existing infrastructure in
TargetFrameLowering.
Cheers,
Dominik
_______________________________________________ LLVM Developers mailing list llvm...@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev