diff options
author | Tim Northover <tnorthover@apple.com> | 2022-03-03 12:38:05 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2022-04-11 12:24:47 +0100 |
commit | 6c85668d280408c0920f64fa1c791861faf358c4 (patch) | |
tree | 5e80bbd0de788c772f69cc6d07236f97e52578a4 /llvm/lib/CodeGen/CodeGen.cpp | |
parent | b00d0fa2c7f0a187867c535b3f7006376420d58f (diff) | |
download | llvm-6c85668d280408c0920f64fa1c791861faf358c4.zip llvm-6c85668d280408c0920f64fa1c791861faf358c4.tar.gz llvm-6c85668d280408c0920f64fa1c791861faf358c4.tar.bz2 |
Tail calls: look through AssertZExt to find register copy.
arm64_32 guarantees the high 32 bits of pointer parameters are passed as 0, and
this is modelled in the IR by inserting an AssertZExt after the CopyFromReg.
The function deciding whether registers that need to be preserved actually are
wasn't expecting this so it banned perfectly legitimate tail calls.
Diffstat (limited to 'llvm/lib/CodeGen/CodeGen.cpp')
0 files changed, 0 insertions, 0 deletions