mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Cleanup testcase a lot to test JUST funcresolve of globals
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
806fd40074
commit
6a7096e685
@ -1,25 +1,22 @@
|
|||||||
; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved correctly.
|
; Test that: extern int X[] and int X[] = { 1, 2, 3, 4 } are resolved
|
||||||
|
; correctly.
|
||||||
;
|
;
|
||||||
; RUN: if as < %s | opt -gcse -instcombine -constprop -dce | dis | grep getelementptr
|
; RUN: if as < %s | opt -funcresolve | dis | grep external
|
||||||
; RUN: then exit 1
|
; RUN: then exit 1
|
||||||
; RUN: else exit 0
|
; RUN: else exit 0
|
||||||
; RUN: fi
|
; RUN: fi
|
||||||
;
|
;
|
||||||
|
|
||||||
%X = uninitialized global int ; <int*> [#uses=1]
|
%X = external global int
|
||||||
%X = global [4 x int] [ int 1, int 2, int 3, int 4 ] ; <[4 x int]*> [#uses=1]
|
%X = global [4 x int] [ int 1, int 2, int 3, int 4 ]
|
||||||
|
|
||||||
implementation ; Functions:
|
implementation ; Functions:
|
||||||
|
|
||||||
int %foo(int %x) {
|
int %foo(int %x) {
|
||||||
bb1: ;[#uses=0]
|
bb1: ;[#uses=0]
|
||||||
%reg107-idxcast = cast int %x to uint ; <uint> [#uses=2]
|
store int 5, int* getelementptr (int* %X, long 2)
|
||||||
%reg113 = getelementptr int* %X, uint %reg107-idxcast ; <int*> [#uses=1]
|
%F = getelementptr int* %X, long 2
|
||||||
%reg120 = getelementptr [4 x int]* %X, uint 0, uint %reg107-idxcast ; <int*> [#uses=1]
|
%val = load int* %F
|
||||||
%reg123 = sub int* %reg113, %reg120 ; <int*> [#uses=1]
|
ret int %val
|
||||||
%cast232 = cast int* %reg123 to long ; <long> [#uses=1]
|
|
||||||
%reg234 = div long %cast232, 4 ; <long> [#uses=1]
|
|
||||||
%cast108 = cast long %reg234 to int ; <int> [#uses=1]
|
|
||||||
ret int %cast108
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user