; RUN: llc -mtriple=mips-unknown-linux-gnu -mips-tail-calls=1 -O0 < %s | FileCheck %s ; RUN: llc -mtriple=mips64-unknown-linux-gnu -mips-tail-calls=1 -O0 < %s | FileCheck %s ; Test that musttail works correctly at -O0 when Fast ISel is used. ; This is a regression test for a bug where Fast ISel incorrectly set ; IncomingArgSize to 0 for functions with no arguments, causing the ; tail call eligibility check to fail. @ptr = dso_local global ptr null, align 4 define dso_local void @callee() { entry: %local = alloca i32, align 4 store volatile i32 2, ptr %local, align 4 ret void } ; CHECK-LABEL: caller: ; CHECK: j callee ; CHECK-NOT: jal callee define dso_local void @caller() { entry: %local = alloca i32, align 4 store i32 1, ptr %local, align 4 store ptr %local, ptr @ptr, align 4 musttail call void @callee() ret void }