[FastISel] Ignore @llvm.assume.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276410 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Ahmed Bougacha 2016-07-22 12:54:53 +00:00
parent d6931b112a
commit e01551dfca
2 changed files with 16 additions and 0 deletions

View File

@ -1104,6 +1104,8 @@ bool FastISel::selectIntrinsicCall(const IntrinsicInst *II) {
case Intrinsic::lifetime_end:
// The donothing intrinsic does, well, nothing.
case Intrinsic::donothing:
// Neither does the assume intrinsic; it's also OK not to codegen its operand.
case Intrinsic::assume:
return true;
case Intrinsic::dbg_declare: {
const DbgDeclareInst *DI = cast<DbgDeclareInst>(II);

View File

@ -0,0 +1,14 @@
; RUN: llc -mtriple=aarch64-- -fast-isel -fast-isel-abort=4 -verify-machineinstrs < %s | FileCheck %s
; Check that we ignore the assume intrinsic.
; CHECK-LABEL: test:
; CHECK: // BB#0:
; CHECK-NEXT: ret
define void @test(i32 %a) {
%tmp0 = icmp slt i32 %a, 0
call void @llvm.assume(i1 %tmp0)
ret void
}
declare void @llvm.assume(i1)