[llvm] r307086 - [FastISel] Move gc intrinsic test to X86 directory

Anna Thomas via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 4 08:24:08 PDT 2017


Author: annat
Date: Tue Jul  4 08:24:08 2017
New Revision: 307086

URL: http://llvm.org/viewvc/llvm-project?rev=307086&view=rev
Log:
[FastISel] Move gc intrinsic test to X86 directory

Move from generic to X86 directory since gc intrinsics only supposed in
X86 64 bit.
Add target triple as well.
Fixes build failure in i686-linux-RA  caused by rL307084.

Added:
    llvm/trunk/test/CodeGen/X86/fast-isel-gc-intrinsics.ll
      - copied, changed from r307084, llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll
Removed:
    llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll

Removed: llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll?rev=307085&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll (original)
+++ llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll (removed)
@@ -1,55 +0,0 @@
-; RUN: llc < %s -fast-isel
-
-; Dont crash with gc intrinsics.
-
-; gcrelocate call should not be an LLVM Machine Block by itself.
-define i8 addrspace(1)* @test_gcrelocate(i8 addrspace(1)* %v) gc "statepoint-example" {
-entry:
-  %tok = call token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()* @foo, i32 0, i32 0, i32 0, i32 0, i8 addrspace(1)* %v)
-  %vnew = call i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tok,  i32 7, i32 7)
-  ret i8 addrspace(1)* %vnew
-}
-
-; gcresult calls are fine in their own blocks.
-define i1 @test_gcresult() gc "statepoint-example" {
-entry:
-  %safepoint_token = tail call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i1f(i64 0, i32 0, i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 0)
-  %call1 = call zeroext i1 @llvm.experimental.gc.result.i1(token %safepoint_token)
-  ret i1 %call1
-}
-
-; we are okay here because we see the gcrelocate and avoid generating their own
-; block.
-define i1 @test_gcresult_gcrelocate(i8 addrspace(1)* %v) gc "statepoint-example" {
-entry:
-  %safepoint_token = tail call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i1f(i64 0, i32 0, i1 ()* @return_i1, i32 0, i32 0, i32 0, i32 0, i8 addrspace(1)* %v)
-  %call1 = call zeroext i1 @llvm.experimental.gc.result.i1(token %safepoint_token)
-  %vnew = call i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %safepoint_token,  i32 7, i32 7)
-  ret i1 %call1
-}
-
-define i8 addrspace(1)*  @test_non_entry_block(i8 addrspace(1)* %v, i8 %val) gc "statepoint-example" {
-entry:
- %load = load i8, i8 addrspace(1)* %v
- %cmp = icmp eq i8 %load, %val
- br i1 %cmp, label %func_call, label %exit
-
-func_call:
- call void @dummy()
- %tok = call token (i64, i32, void ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()* @foo, i32 0, i32 0, i32 0, i32 0, i8 addrspace(1)* %v)
- %vnew = call i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token %tok,  i32 7, i32 7)
- ret i8 addrspace(1)* %vnew
-
-exit:
-  ret i8 addrspace(1)* %v
-
-}
-
-declare void @dummy()
-declare void @foo()
-
-declare zeroext i1 @return_i1()
-declare token @llvm.experimental.gc.statepoint.p0f_isVoidf(i64, i32, void ()*, i32, i32, ...)
-declare token @llvm.experimental.gc.statepoint.p0f_i1f(i64, i32, i1 ()*, i32, i32, ...)
-declare i1 @llvm.experimental.gc.result.i1(token)
-declare i8 addrspace(1)* @llvm.experimental.gc.relocate.p1i8(token, i32, i32)

Copied: llvm/trunk/test/CodeGen/X86/fast-isel-gc-intrinsics.ll (from r307084, llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll)
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/fast-isel-gc-intrinsics.ll?p2=llvm/trunk/test/CodeGen/X86/fast-isel-gc-intrinsics.ll&p1=llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll&r1=307084&r2=307086&rev=307086&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/Generic/fast-isel-gc-intrinsics.ll (original)
+++ llvm/trunk/test/CodeGen/X86/fast-isel-gc-intrinsics.ll Tue Jul  4 08:24:08 2017
@@ -1,5 +1,7 @@
 ; RUN: llc < %s -fast-isel
 
+target datalayout = "e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-pc-linux-gnu"
 ; Dont crash with gc intrinsics.
 
 ; gcrelocate call should not be an LLVM Machine Block by itself.




More information about the llvm-commits mailing list