llvm/test/CodeGen/Hexagon/simpletailcall.ll
Arnold Schwaighofer d252aa43c9 [Hexagon] Don't mark callee saved registers as clobbered by a tail call
This was causing unnecessary spills/restores of callee saved registers.

Fixes PR13572.

Patch by Pranav Bhandarkar!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161778 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-13 19:54:01 +00:00

15 lines
359 B
LLVM

; RUN: llc -march=hexagon -mcpu=hexagonv4 < %s | FileCheck %s
; CHECK: foo_empty
; CHECK-NOT: allocframe
; CHECK-NOT: memd(r29
; CHECK: jump bar_empty
define void @foo_empty(i32 %h) nounwind {
entry:
%add = add nsw i32 %h, 3
%call = tail call i32 bitcast (i32 (...)* @bar_empty to i32 (i32)*)(i32 %add) nounwind
ret void
}
declare i32 @bar_empty(...)