Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(313)

Side by Side Diff: test/NaCl/ARM/GOT-with-disabled-constpools.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/MC/X86/elf-note-nacl.ll ('k') | test/NaCl/ARM/avoid-aeabi-functions.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; RUN: pnacl-llc -mtriple=armv7a-none-nacl-gnueabi %s -filetype=obj \
2 ; RUN: -relocation-model=pic -mattr=+neon \
3 ; RUN: -O0 -mcpu=cortex-a9 -o - \
4 ; RUN: | llvm-objdump -disassemble -r -triple armv7 - | FileCheck %s
5
6 ; This test exercises NaCl (which doesn't use constant islands)
7 ; together with -relocation-model=pic, to see that a movw/movt
8 ; is actually generated as expected. Use -O0 so that movw/movt
9 ; are scheduled to be adjacent, instead of having other independent
10 ; instructions interleaved.
11
12 %struct.object = type { [16 x i8*] }
13
14 @__do_eh_ctor.object = internal global %struct.object zeroinitializer, align 8
15 @__EH_FRAME_BEGIN__ = internal global [0 x i8] zeroinitializer, section ".eh_fra me", align 4
16 @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @__do_eh_ctor }]
17
18 declare void @__register_frame_info(i8* %begin, %struct.object* %ob)
19
20 define internal void @__do_eh_ctor() {
21 entry:
22 call void @__register_frame_info(i8* getelementptr inbounds ([0 x i8]* @__EH_F RAME_BEGIN__, i32 0, i32 0), %struct.object* @__do_eh_ctor.object)
23 ; CHECK-LABEL: __do_eh_ctor
24
25 ; CHECK: movw r[[REG0:[0-9]+]]
26 ; CHECK-NEXT: R_ARM_MOVW_PREL_NC .LCPI
27 ; CHECK-NEXT: movt r[[REG0]]
28 ; CHECK-NEXT: R_ARM_MOVT_PREL .LCPI
29 ; CHECK-NEXT: add r[[REG0]], pc, r[[REG0]]
30 ; CHECK: ldr r[[REG0]], {{\[}}r[[REG0]]{{\]}}
31
32 ; CHECK: movw r[[REG1:[0-9]+]]
33 ; CHECK-NEXT: R_ARM_MOVW_PREL_NC _GLOBAL_OFFSET_TABLE_
34 ; CHECK-NEXT: movt r[[REG1]]
35 ; CHECK-NEXT: R_ARM_MOVT_PREL _GLOBAL_OFFSET_TABLE_
36 ; CHECK-NEXT: add r[[REG1]], pc, r[[REG1]]
37 ; CHECK: add r[[REG0]], r[[REG0]], r[[REG1]]
38
39 ; CHECK: movw r[[REG2:[0-9]+]]
40 ; CHECK-NEXT: R_ARM_MOVW_PREL_NC .LCPI
41 ; CHECK-NEXT: movt r[[REG2]]
42 ; CHECK-NEXT: R_ARM_MOVT_PREL .LCPI
43 ; CHECK-NEXT: add r[[REG2]], pc, r[[REG2]]
44 ; CHECK: ldr r[[REG2]], {{\[}}r[[REG2]]{{\]}}
45 ; CHECK: add r[[REG1]], r[[REG2]], r[[REG1]]
46
47 ret void
48 }
49
OLDNEW
« no previous file with comments | « test/MC/X86/elf-note-nacl.ll ('k') | test/NaCl/ARM/avoid-aeabi-functions.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698