]> granicus.if.org Git - llvm/commit
[mips] Restrict tail call optimization
authorSimon Dardis <simon.dardis@imgtec.com>
Sun, 20 Nov 2016 21:23:08 +0000 (21:23 +0000)
committerSimon Dardis <simon.dardis@imgtec.com>
Sun, 20 Nov 2016 21:23:08 +0000 (21:23 +0000)
commit544f14c6b2a07a94168df31833dba9dc35fd8289
tree26d9f6484be2c3aae70dc5ef12e346cfd7e13fec
parentcbc1c49eda733ab54834db7af2b50a1ec52d05c8
[mips] Restrict tail call optimization

The tail call optimization was being used without proper consideration of
ABI requirements for saving and restoring the GP. This patch restricts tail
call optimization to functions within the same translation unit.

Reviewers: vkalintiris

Differential Revision: https://reviews.llvm.org/D24763

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287505 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsISelLowering.cpp
test/CodeGen/Mips/fastcc.ll
test/CodeGen/Mips/i64arg.ll
test/CodeGen/Mips/lazy-binding.ll
test/CodeGen/Mips/llvm-ir/call.ll
test/CodeGen/Mips/tailcall/tail-call-arguments-clobber.ll
test/CodeGen/Mips/tailcall/tailcall-wrong-isa.ll
test/CodeGen/Mips/tailcall/tailcall.ll