aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGen.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2022-03-03 12:38:05 +0000
committerTim Northover <tnorthover@apple.com>2022-04-11 12:24:47 +0100
commit6c85668d280408c0920f64fa1c791861faf358c4 (patch)
tree5e80bbd0de788c772f69cc6d07236f97e52578a4 /llvm/lib/CodeGen/CodeGen.cpp
parentb00d0fa2c7f0a187867c535b3f7006376420d58f (diff)
downloadllvm-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