diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2013-09-16 01:08:15 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2013-09-16 01:08:15 +0000 |
commit | 1e3037f0be430ef2339838bbdede11f45658bd82 (patch) | |
tree | 685847478f3c9e31c3e1fa7f63f5f605e5f43f80 /test | |
parent | fabfb5d5880354983c89c6f475312dd359e5bb03 (diff) | |
download | external_llvm-1e3037f0be430ef2339838bbdede11f45658bd82.zip external_llvm-1e3037f0be430ef2339838bbdede11f45658bd82.tar.gz external_llvm-1e3037f0be430ef2339838bbdede11f45658bd82.tar.bz2 |
Implement function prefix data as an IR feature.
Previous discussion:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-July/063909.html
Differential Revision: http://llvm-reviews.chandlerc.com/D1191
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190773 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/prefixdata.ll | 15 | ||||
-rw-r--r-- | test/Feature/prefixdata.ll | 18 | ||||
-rw-r--r-- | test/Linker/prefixdata.ll | 9 |
3 files changed, 42 insertions, 0 deletions
diff --git a/test/CodeGen/X86/prefixdata.ll b/test/CodeGen/X86/prefixdata.ll new file mode 100644 index 0000000..2ffa89d --- /dev/null +++ b/test/CodeGen/X86/prefixdata.ll @@ -0,0 +1,15 @@ +; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s + +@i = linkonce_odr global i32 1 + +; CHECK: f: +; CHECK-NEXT: .long 1 +define void @f() prefix i32 1 { + ret void +} + +; CHECK: g: +; CHECK-NEXT: .quad i +define void @g() prefix i32* @i { + ret void +} diff --git a/test/Feature/prefixdata.ll b/test/Feature/prefixdata.ll new file mode 100644 index 0000000..b53945c --- /dev/null +++ b/test/Feature/prefixdata.ll @@ -0,0 +1,18 @@ +; RUN: llvm-as < %s | llvm-dis > %t1.ll +; RUN: FileCheck %s < %t1.ll +; RUN: llvm-as < %t1.ll | llvm-dis > %t2.ll +; RUN: diff %t1.ll %t2.ll +; RUN: opt -O3 -S < %t1.ll | FileCheck %s + +; CHECK: @i +@i = linkonce_odr global i32 1 + +; CHECK: f(){{.*}}prefix i32 1 +define void @f() prefix i32 1 { + ret void +} + +; CHECK: g(){{.*}}prefix i32* @i +define void @g() prefix i32* @i { + ret void +} diff --git a/test/Linker/prefixdata.ll b/test/Linker/prefixdata.ll new file mode 100644 index 0000000..1f11dc7 --- /dev/null +++ b/test/Linker/prefixdata.ll @@ -0,0 +1,9 @@ +; RUN: echo > %t.ll +; RUN: llvm-link %t.ll %s -S -o - | FileCheck %s + +@i = linkonce_odr global i32 1 + +; CHECK: define void @f() prefix i32* @i +define void @f() prefix i32* @i { + ret void +} |