llvm/test/Assembler/autoupgrade-thread-pointer.ll
Marcin Koscielnicki 9ebfa4db3c [AArch64] [ARM] Make a target-independent llvm.thread.pointer intrinsic.
Both AArch64 and ARM support llvm.<arch>.thread.pointer intrinsics that
just return the thread pointer.  I have a pending patch that does the same
for SystemZ (D19054), and there are many more targets that could benefit
from one.

This patch merges the ARM and AArch64 intrinsics into a single target
independent one that will also be used by subsequent targets.

Differential Revision: http://reviews.llvm.org/D19098

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266818 91177308-0d34-0410-b5e6-96231b3b80d8
2016-04-19 20:51:05 +00:00

20 lines
473 B
LLVM

; Test autoupgrade of arch-specific thread pointer intrinsics
; RUN: llvm-as < %s | llvm-dis | FileCheck %s
declare i8* @llvm.aarch64.thread.pointer()
declare i8* @llvm.arm.thread.pointer()
define i8* @test1() {
; CHECK: test1()
; CHECK: call i8* @llvm.thread.pointer()
%1 = call i8* @llvm.aarch64.thread.pointer()
ret i8 *%1
}
define i8* @test2() {
; CHECK: test2()
; CHECK: call i8* @llvm.thread.pointer()
%1 = call i8* @llvm.arm.thread.pointer()
ret i8 *%1
}