~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/LTO/X86/cfi_endproc.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llvm-as < %s >%t1
 
2
; RUN: llvm-lto -o %t2 %t1
 
3
; RUN: llvm-nm %t2 | FileCheck %s -check-prefix=NOEXPORT
 
4
; RUN: llvm-lto -o %t3 -exported-symbol=main %t1
 
5
; RUN: llvm-nm %t3 | FileCheck %s -check-prefix=EXPORT
 
6
 
 
7
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
 
8
target triple = "x86_64-unknown-linux-gnu"
 
9
 
 
10
module asm ".text"
 
11
module asm ".align 16, 0x90"
 
12
module asm ".type PR14512, @function"
 
13
module asm "PR14512:.cfi_startproc"
 
14
module asm "ret"
 
15
module asm ".cfi_endproc"
 
16
 
 
17
declare void @PR14512()
 
18
 
 
19
; Without -exported-symbol, main should be eliminated by LTO.
 
20
; With -exported-symbol=main, main should be preserved by LTO.
 
21
define i32 @main(i32 %argc, i8** %argv) {
 
22
; NOEXPORT-NOT: main
 
23
; EXPORT: main
 
24
  call void @PR14512()
 
25
  ret i32 0
 
26
}
 
27
 
 
28
; RUN: llvm-lto -o %t -dso-symbol=zed1 -dso-symbol=zed2 %t1 -O0
 
29
; RUN: llvm-nm %t | FileCheck %s -check-prefix=ZED1_AND_ZED2
 
30
; ZED1_AND_ZED2: V zed1
 
31
@zed1 = linkonce_odr global i32 42
 
32
define i32* @get_zed1() {
 
33
  ret i32* @zed1
 
34
}
 
35
 
 
36
; ZED1_AND_ZED2: d zed2
 
37
@zed2 = linkonce_odr unnamed_addr global i32 42
 
38
 
 
39
define i32 @useZed2() {
 
40
  %x = load i32, i32* @zed2
 
41
  ret i32 %x
 
42
}