| ; RUN: llc -mtriple=x86_64-linux < %s | FileCheck %s | |
| ; Intrinsic call to @llvm.assume should not prevent tail call optimization. | |
| ; CHECK-LABEL: foo: | |
| ; CHECK: jmp bar # TAILCALL | |
| define ptr @foo() { | |
| %1 = tail call ptr @bar() | |
| %2 = icmp ne ptr %1, null | |
| tail call void @llvm.assume(i1 %2) | |
| ret ptr %1 | |
| } | |
| declare dso_local ptr @bar() | |
| declare void @llvm.assume(i1) | |