mirror of
https://github.com/RPCS3/llvm.git
synced 2025-04-02 13:21:43 +00:00
Promote GEP ubyte indices to uint. Backwards compatibility for 1.2 and
older features will be dropped soon and these test cases must not rely on the upgrade capability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31896 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
565706b93e
commit
e5d4efa63e
@ -1,7 +1,7 @@
|
||||
; RUN: llvm-as < %s | opt -basicaa -aa-eval -disable-output
|
||||
; Test for a bug in BasicAA which caused a crash when querying equality of P1&P2
|
||||
void %test({[2 x int],[2 x int]}* %A, long %X, long %Y) {
|
||||
%P1 = getelementptr {[2 x int],[2 x int]}* %A, long 0, ubyte 0, long %X
|
||||
%P2 = getelementptr {[2 x int],[2 x int]}* %A, long 0, ubyte 1, long %Y
|
||||
%P1 = getelementptr {[2 x int],[2 x int]}* %A, long 0, uint 0, long %X
|
||||
%P2 = getelementptr {[2 x int],[2 x int]}* %A, long 0, uint 1, long %Y
|
||||
ret void
|
||||
}
|
||||
|
@ -6,13 +6,13 @@ void %table_reindex(%struct..apr_table_t* %t.1) { ; No predecessors!
|
||||
br label %loopentry
|
||||
|
||||
loopentry: ; preds = %0, %no_exit
|
||||
%tmp.101 = getelementptr %struct..apr_table_t* %t.1, long 0, ubyte 0, ubyte 2 ; <int*> [#uses=1]
|
||||
%tmp.101 = getelementptr %struct..apr_table_t* %t.1, long 0, uint 0, uint 2
|
||||
%tmp.11 = load int* %tmp.101 ; <int> [#uses=0]
|
||||
br bool false, label %no_exit, label %UnifiedExitNode
|
||||
|
||||
no_exit: ; preds = %loopentry
|
||||
%tmp.25 = cast int 0 to long ; <long> [#uses=1]
|
||||
%tmp.261 = getelementptr %struct..apr_table_t* %t.1, long 0, ubyte 3, long %tmp.25 ; <int*> [#uses=1]
|
||||
%tmp.261 = getelementptr %struct..apr_table_t* %t.1, long 0, uint 3, long %tmp.25 ; <int*> [#uses=1]
|
||||
store int 0, int* %tmp.261
|
||||
br label %loopentry
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
implementation ; Functions:
|
||||
|
||||
uint %BMT_CommitPartDrawObj() {
|
||||
%tmp.19111 = getelementptr %struct..RefRect* null, long 0, ubyte 0, ubyte 1, ubyte 2
|
||||
%tmp.20311 = getelementptr %struct..RefRect* null, long 0, ubyte 1, ubyte 1, ubyte 2
|
||||
%tmp.19111 = getelementptr %struct..RefRect* null, long 0, uint 0, uint 1, uint 2
|
||||
%tmp.20311 = getelementptr %struct..RefRect* null, long 0, uint 1, uint 1, uint 2
|
||||
ret uint 0
|
||||
}
|
||||
|
@ -7,9 +7,9 @@
|
||||
|
||||
void %test(%T* %P) {
|
||||
%A = getelementptr %T* %P, long 0
|
||||
%B = getelementptr %T* %P, long 0, ubyte 0
|
||||
%C = getelementptr %T* %P, long 0, ubyte 1
|
||||
%D = getelementptr %T* %P, long 0, ubyte 1, long 0
|
||||
%E = getelementptr %T* %P, long 0, ubyte 1, long 5
|
||||
%B = getelementptr %T* %P, long 0, uint 0
|
||||
%C = getelementptr %T* %P, long 0, uint 1
|
||||
%D = getelementptr %T* %P, long 0, uint 1, long 0
|
||||
%E = getelementptr %T* %P, long 0, uint 1, long 5
|
||||
ret void
|
||||
}
|
||||
|
@ -8,10 +8,10 @@
|
||||
%G = external global %T
|
||||
|
||||
void %test() {
|
||||
%D = getelementptr %T* %G, long 0, ubyte 0
|
||||
%E = getelementptr %T* %G, long 0, ubyte 1, long 5
|
||||
%F = getelementptr uint* getelementptr (%T* %G, long 0, ubyte 0), long 0
|
||||
%X = getelementptr [10 x ubyte]* getelementptr (%T* %G, long 0, ubyte 1), long 0, long 5
|
||||
%D = getelementptr %T* %G, long 0, uint 0
|
||||
%E = getelementptr %T* %G, long 0, uint 1, long 5
|
||||
%F = getelementptr uint* getelementptr (%T* %G, long 0, uint 0), long 0
|
||||
%X = getelementptr [10 x ubyte]* getelementptr (%T* %G, long 0, uint 1), long 0, long 5
|
||||
|
||||
ret void
|
||||
}
|
||||
|
@ -55,9 +55,9 @@ int %gep_distance_test(int* %A) {
|
||||
; Test that if two pointers are spaced out by a constant offset, that they
|
||||
; cannot alias, even if there is a variable offset between them...
|
||||
int %gep_distance_test2({int,int}* %A, long %distance) {
|
||||
%A = getelementptr {int,int}* %A, long 0, ubyte 0
|
||||
%A = getelementptr {int,int}* %A, long 0, uint 0
|
||||
%REMOVEu = load int* %A
|
||||
%B = getelementptr {int,int}* %A, long %distance, ubyte 1
|
||||
%B = getelementptr {int,int}* %A, long %distance, uint 1
|
||||
store int 7, int* %B ; B cannot alias A, it's at least 4 bytes away
|
||||
%REMOVEv = load int* %A
|
||||
%r = sub int %REMOVEu, %REMOVEv
|
||||
@ -78,7 +78,7 @@ int %gep_distance_test3(int * %A) {
|
||||
int %constexpr_test() {
|
||||
%X = alloca int
|
||||
%Y = load int* %X
|
||||
store int 5, int* getelementptr ({ int }* %Global, long 0, ubyte 0)
|
||||
store int 5, int* getelementptr ({ int }* %Global, long 0, uint 0)
|
||||
%REMOVE = load int* %X
|
||||
%retval = sub int %Y, %REMOVE
|
||||
ret int %retval
|
||||
|
@ -5,12 +5,12 @@ int %main() {
|
||||
%A = alloca %T
|
||||
%B = alloca { %T }
|
||||
%C = alloca %T*
|
||||
%Bp = getelementptr { %T }* %B, long 0, ubyte 0
|
||||
%Bp = getelementptr { %T }* %B, long 0, uint 0
|
||||
|
||||
%i0 = alloca int
|
||||
%i1 = alloca int
|
||||
%Ap0 = getelementptr %T* %A, long 0, ubyte 0
|
||||
%Ap1 = getelementptr %T* %A, long 0, ubyte 1
|
||||
%Ap0 = getelementptr %T* %A, long 0, uint 0
|
||||
%Ap1 = getelementptr %T* %A, long 0, uint 1
|
||||
store int* %i0, int** %Ap0
|
||||
store int* %i1, int** %Ap1
|
||||
|
||||
|
@ -9,8 +9,8 @@ int %main() {
|
||||
%A = alloca %T
|
||||
%B = alloca { %T }
|
||||
%C = alloca %T*
|
||||
%Bp = getelementptr { %T }* %B, long 0, ubyte 0
|
||||
%Ap = getelementptr %T* %A, long 0, ubyte 0
|
||||
%Bp = getelementptr { %T }* %B, long 0, uint 0
|
||||
%Ap = getelementptr %T* %A, long 0, uint 0
|
||||
|
||||
store %T* %A, %T** %C
|
||||
store %T* %Bp, %T** %C ; This store was causing merging to happen!
|
||||
|
@ -6,6 +6,6 @@ implementation
|
||||
|
||||
|
||||
void %test() {
|
||||
store short 5, short* getelementptr ({ int, short, short }* %X, long 0, ubyte 1)
|
||||
store short 5, short* getelementptr ({ int, short, short }* %X, long 0, uint 1)
|
||||
ret void
|
||||
}
|
||||
|
@ -11,8 +11,8 @@ void %test() {
|
||||
%A = alloca double*
|
||||
%B = alloca %S
|
||||
%C = alloca %T
|
||||
%b = getelementptr %S* %B, long 0, ubyte 0
|
||||
%c = getelementptr %T* %C, long 0, ubyte 0
|
||||
%b = getelementptr %S* %B, long 0, uint 0
|
||||
%c = getelementptr %T* %C, long 0, uint 0
|
||||
|
||||
store double* %b, double** %A
|
||||
store double* %c, double** %A
|
||||
|
@ -6,7 +6,7 @@
|
||||
%G = external global %S
|
||||
|
||||
void %main() {
|
||||
%b = getelementptr %S* %G, long 0, ubyte 0
|
||||
%b = getelementptr %S* %G, long 0, uint 0
|
||||
store double 0.1, double* %b
|
||||
ret void
|
||||
}
|
||||
|
@ -7,9 +7,9 @@
|
||||
|
||||
int %main() {
|
||||
%A = alloca %S
|
||||
%Ap = getelementptr %S* %A, long 0, ubyte 0
|
||||
%Ap = getelementptr %S* %A, long 0, uint 0
|
||||
%B = alloca %T
|
||||
%Bp = getelementptr %T* %B, long 0, ubyte 0
|
||||
%Bp = getelementptr %T* %B, long 0, uint 0
|
||||
%C = alloca int*
|
||||
|
||||
store int* %Ap, int** %C
|
||||
|
@ -10,21 +10,21 @@ implementation
|
||||
%Ap = malloc int
|
||||
%Bp = malloc int
|
||||
%C = malloc {int*, int*}
|
||||
%C1p = getelementptr {int*, int*}* %C, long 0, ubyte 0
|
||||
%C1p = getelementptr {int*, int*}* %C, long 0, uint 0
|
||||
store int* %Ap, int** %C1p
|
||||
%C2p = getelementptr {int*, int*}* %C, long 0, ubyte 1
|
||||
%C2p = getelementptr {int*, int*}* %C, long 0, uint 1
|
||||
store int* %Bp, int** %C2p
|
||||
ret %intpair* %C
|
||||
}
|
||||
|
||||
int* %getp(%intpair* %P) {
|
||||
%pp = getelementptr %intpair* %P, long 0, ubyte 0
|
||||
%pp = getelementptr %intpair* %P, long 0, uint 0
|
||||
%V = load int** %pp
|
||||
ret int *%V
|
||||
}
|
||||
|
||||
int* %getq(%intpair* %P) {
|
||||
%pp = getelementptr %intpair* %P, long 0, ubyte 1
|
||||
%pp = getelementptr %intpair* %P, long 0, uint 1
|
||||
%V = load int** %pp
|
||||
ret int *%V
|
||||
}
|
||||
|
@ -15,11 +15,11 @@ sbyte %test(sbyte** %P) {
|
||||
|
||||
sbyte %test(%S ** %P) {
|
||||
%A = load %S** %P
|
||||
%B = getelementptr %S* %A, int 0, ubyte 1
|
||||
%B = getelementptr %S* %A, int 0, uint 1
|
||||
%C = load sbyte* %B
|
||||
|
||||
%X = load %S** %P
|
||||
%Y = getelementptr %S* %X, int 0, ubyte 1
|
||||
%Y = getelementptr %S* %X, int 0, uint 1
|
||||
%Z = load sbyte* %Y
|
||||
|
||||
%R = sub sbyte %C, %Z
|
||||
|
@ -4,9 +4,9 @@
|
||||
|
||||
|
||||
int *%t1({ float, int }* %X) {
|
||||
%W = getelementptr { float, int }* %X, int 20, ubyte 1
|
||||
%W = getelementptr { float, int }* %X, int 20, uint 1
|
||||
%X = getelementptr { float, int }* %X, uint 20, uint 1
|
||||
%Y = getelementptr { float, int }* %X, long 20, ubyte 1
|
||||
%Y = getelementptr { float, int }* %X, long 20, uint 1
|
||||
%Z = getelementptr { float, int }* %X, ulong 20, uint 1
|
||||
ret int* %Y
|
||||
}
|
||||
|
@ -20,8 +20,8 @@ global long* cast (long xor (long cast (long* %A to long), long 0) to long*) ; X
|
||||
|
||||
global bool setlt (long* %A, long* getelementptr (long* %A, long 1)) ; true
|
||||
global bool setlt (long* %A, long* getelementptr (long* %A, long 0)) ; false
|
||||
global bool setlt (int* getelementptr (%Ty* %B, long 0, ubyte 0),
|
||||
int* getelementptr (%Ty* %B, long 0, ubyte 1)) ; true
|
||||
global bool setlt (int* getelementptr (%Ty* %B, long 0, uint 0),
|
||||
int* getelementptr (%Ty* %B, long 0, uint 1)) ; true
|
||||
;global bool setne (long* %A, long* cast (%Ty* %B to long*)) ; true
|
||||
|
||||
global bool seteq ({ short }* cast (int 1 to { short }*), { short }* null)
|
||||
|
@ -4,6 +4,6 @@
|
||||
%X = type { int, float }
|
||||
|
||||
void %test() {
|
||||
getelementptr %X* null, long 0, ubyte 1
|
||||
getelementptr %X* null, long 0, uint 1
|
||||
ret void
|
||||
}
|
||||
|
@ -7,6 +7,6 @@
|
||||
implementation ; Functions:
|
||||
void %I_InitGraphics() {
|
||||
shortcirc_next.3: ; preds = %no_exit.1
|
||||
%tmp.319 = load int* getelementptr ({ int, int }* cast (%union._XEvent* %.X_event_9 to { int, int }*), long 0, ubyte 1) ; <int> [#uses=1]
|
||||
%tmp.319 = load int* getelementptr ({ int, int }* cast (%union._XEvent* %.X_event_9 to { int, int }*), long 0, uint 1) ; <int> [#uses=1]
|
||||
ret void
|
||||
}
|
||||
|
@ -45,99 +45,99 @@ entry:
|
||||
%det_routing_arch = alloca %struct..s_det_routing_arch
|
||||
%segment_inf = alloca %struct..s_segment_inf*
|
||||
%timing_inf = alloca { uint, float, float, float, float, float, float, float, float, float, float }
|
||||
%tmp.101 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 4
|
||||
%tmp.101 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 4
|
||||
%tmp.105 = getelementptr [300 x sbyte]* %net_file, long 0, long 0
|
||||
%tmp.106 = getelementptr [300 x sbyte]* %arch_file, long 0, long 0
|
||||
%tmp.107 = getelementptr [300 x sbyte]* %place_file, long 0, long 0
|
||||
%tmp.108 = getelementptr [300 x sbyte]* %route_file, long 0, long 0
|
||||
%tmp.109 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 0
|
||||
%tmp.112 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 0
|
||||
%tmp.114 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 6
|
||||
%tmp.118 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 7
|
||||
%tmp.109 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 0
|
||||
%tmp.112 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 0
|
||||
%tmp.114 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 6
|
||||
%tmp.118 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 7
|
||||
%tmp.135 = load int* %operation
|
||||
%tmp.137 = load int* %tmp.112
|
||||
%tmp.138 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 1
|
||||
%tmp.138 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 1
|
||||
%tmp.139 = load float* %tmp.138
|
||||
%tmp.140 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 2
|
||||
%tmp.140 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 2
|
||||
%tmp.141 = load int* %tmp.140
|
||||
%tmp.142 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 3
|
||||
%tmp.142 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 3
|
||||
%tmp.143 = load uint* %tmp.142
|
||||
%tmp.145 = load sbyte** %tmp.101
|
||||
%tmp.146 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 5
|
||||
%tmp.146 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, uint 5
|
||||
%tmp.147 = load uint* %tmp.146
|
||||
%tmp.149 = load int* %tmp.114
|
||||
%tmp.154 = load uint* %full_stats
|
||||
%tmp.155 = load uint* %verify_binary_search
|
||||
%tmp.156 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 0
|
||||
%tmp.156 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, uint 0
|
||||
%tmp.157 = load uint* %tmp.156
|
||||
%tmp.158 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 1
|
||||
%tmp.158 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, uint 1
|
||||
%tmp.159 = load float* %tmp.158
|
||||
%tmp.160 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 2
|
||||
%tmp.160 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, uint 2
|
||||
%tmp.161 = load float* %tmp.160
|
||||
%tmp.162 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 3
|
||||
%tmp.162 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, uint 3
|
||||
%tmp.163 = load float* %tmp.162
|
||||
%tmp.164 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 4
|
||||
%tmp.164 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, uint 4
|
||||
%tmp.165 = load float* %tmp.164
|
||||
%tmp.166 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 0
|
||||
%tmp.166 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 0
|
||||
%tmp.167 = load float* %tmp.166
|
||||
%tmp.168 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 1
|
||||
%tmp.168 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 1
|
||||
%tmp.169 = load float* %tmp.168
|
||||
%tmp.170 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 2
|
||||
%tmp.170 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 2
|
||||
%tmp.171 = load float* %tmp.170
|
||||
%tmp.172 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 3
|
||||
%tmp.172 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 3
|
||||
%tmp.173 = load float* %tmp.172
|
||||
%tmp.174 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 4
|
||||
%tmp.174 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 4
|
||||
%tmp.175 = load float* %tmp.174
|
||||
%tmp.176 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 5
|
||||
%tmp.176 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 5
|
||||
%tmp.177 = load int* %tmp.176
|
||||
%tmp.178 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 6
|
||||
%tmp.178 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 6
|
||||
%tmp.179 = load int* %tmp.178
|
||||
%tmp.181 = load uint* %tmp.118
|
||||
%tmp.182 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 8
|
||||
%tmp.182 = getelementptr %struct..s_router_opts* %router_opts, long 0, uint 8
|
||||
%tmp.183 = load int* %tmp.182
|
||||
%tmp.184 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 0
|
||||
%tmp.184 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 0
|
||||
%tmp.185 = load uint* %tmp.184
|
||||
%tmp.186 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 1
|
||||
%tmp.186 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 1
|
||||
%tmp.187 = load float* %tmp.186
|
||||
%tmp.188 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 2
|
||||
%tmp.188 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 2
|
||||
%tmp.189 = load float* %tmp.188
|
||||
%tmp.190 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 3
|
||||
%tmp.190 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 3
|
||||
%tmp.191 = load float* %tmp.190
|
||||
%tmp.192 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 4
|
||||
%tmp.192 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 4
|
||||
%tmp.193 = load uint* %tmp.192
|
||||
%tmp.194 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 5
|
||||
%tmp.194 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 5
|
||||
%tmp.195 = load int* %tmp.194
|
||||
%tmp.196 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 6
|
||||
%tmp.196 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 6
|
||||
%tmp.197 = load short* %tmp.196
|
||||
%tmp.198 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 7
|
||||
%tmp.198 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 7
|
||||
%tmp.199 = load short* %tmp.198
|
||||
%tmp.200 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 8
|
||||
%tmp.200 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 8
|
||||
%tmp.201 = load short* %tmp.200
|
||||
%tmp.202 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 9
|
||||
%tmp.202 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 9
|
||||
%tmp.203 = load float* %tmp.202
|
||||
%tmp.204 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 10
|
||||
%tmp.204 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, uint 10
|
||||
%tmp.205 = load float* %tmp.204
|
||||
%tmp.206 = load %struct..s_segment_inf** %segment_inf
|
||||
%tmp.208 = load uint* %tmp.109
|
||||
%tmp.209 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 1
|
||||
%tmp.209 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 1
|
||||
%tmp.210 = load float* %tmp.209
|
||||
%tmp.211 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 2
|
||||
%tmp.211 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 2
|
||||
%tmp.212 = load float* %tmp.211
|
||||
%tmp.213 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 3
|
||||
%tmp.213 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 3
|
||||
%tmp.214 = load float* %tmp.213
|
||||
%tmp.215 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 4
|
||||
%tmp.215 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 4
|
||||
%tmp.216 = load float* %tmp.215
|
||||
%tmp.217 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 5
|
||||
%tmp.217 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 5
|
||||
%tmp.218 = load float* %tmp.217
|
||||
%tmp.219 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 6
|
||||
%tmp.219 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 6
|
||||
%tmp.220 = load float* %tmp.219
|
||||
%tmp.221 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 7
|
||||
%tmp.221 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 7
|
||||
%tmp.222 = load float* %tmp.221
|
||||
%tmp.223 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 8
|
||||
%tmp.223 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 8
|
||||
%tmp.224 = load float* %tmp.223
|
||||
%tmp.225 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 9
|
||||
%tmp.225 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 9
|
||||
%tmp.226 = load float* %tmp.225
|
||||
%tmp.227 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 10
|
||||
%tmp.227 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, uint 10
|
||||
%tmp.228 = load float* %tmp.227
|
||||
call void %place_and_route( int %tmp.135, int %tmp.137, float %tmp.139, int %tmp.141, uint %tmp.143, sbyte* %tmp.145, uint %tmp.147, int %tmp.149, sbyte* %tmp.107, sbyte* %tmp.105, sbyte* %tmp.106, sbyte* %tmp.108, uint %tmp.154, uint %tmp.155, uint %tmp.157, float %tmp.159, float %tmp.161, float %tmp.163, float %tmp.165, float %tmp.167, float %tmp.169, float %tmp.171, float %tmp.173, float %tmp.175, int %tmp.177, int %tmp.179, uint %tmp.181, int %tmp.183, uint %tmp.185, float %tmp.187, float %tmp.189, float %tmp.191, uint %tmp.193, int %tmp.195, short %tmp.197, short %tmp.199, short %tmp.201, float %tmp.203, float %tmp.205, %struct..s_segment_inf* %tmp.206, uint %tmp.208, float %tmp.210, float %tmp.212, float %tmp.214, float %tmp.216, float %tmp.218, float %tmp.220, float %tmp.222, float %tmp.224, float %tmp.226, float %tmp.228 )
|
||||
%tmp.231 = load uint* %show_graphics
|
||||
|
@ -175,8 +175,8 @@ bb14: ; preds = %bb13, %bb12
|
||||
%reg164 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%reg661 = getelementptr %YYSTYPE* %reg164, long 1 ; <%YYSTYPE*> [#uses=1]
|
||||
store %YYSTYPE* %reg661, %YYSTYPE** %yyvsp
|
||||
%reg167 = load %IntList* getelementptr (%YYSTYPE* %yylval, long 0, ubyte 0) ; <%IntList> [#uses=1]
|
||||
%reg661.idx1 = getelementptr %YYSTYPE* %reg164, long 1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg167 = load %IntList* getelementptr (%YYSTYPE* %yylval, long 0, uint 0) ; <%IntList> [#uses=1]
|
||||
%reg661.idx1 = getelementptr %YYSTYPE* %reg164, long 1, uint 0 ; <%IntList*> [#uses=1]
|
||||
store %IntList %reg167, %IntList* %reg661.idx1
|
||||
store int -1, int* %yychar
|
||||
%reg169 = load int* %yyerrflag ; <int> [#uses=2]
|
||||
@ -292,8 +292,8 @@ bb31: ; preds = %bb30, %bb29
|
||||
%reg236 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%reg771 = getelementptr %YYSTYPE* %reg236, long 1 ; <%YYSTYPE*> [#uses=1]
|
||||
store %YYSTYPE* %reg771, %YYSTYPE** %yyvsp
|
||||
%reg239 = load %IntList* getelementptr (%YYSTYPE* %yylval, long 0, ubyte 0) ; <%IntList> [#uses=1]
|
||||
%reg771.idx1 = getelementptr %YYSTYPE* %reg236, long 1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg239 = load %IntList* getelementptr (%YYSTYPE* %yylval, long 0, uint 0) ; <%IntList> [#uses=1]
|
||||
%reg771.idx1 = getelementptr %YYSTYPE* %reg236, long 1, uint 0 ; <%IntList*> [#uses=1]
|
||||
store %IntList %reg239, %IntList* %reg771.idx1
|
||||
br label %bb4
|
||||
|
||||
@ -328,9 +328,9 @@ bb36: ; preds = %bb20, %bb4
|
||||
%reg254-idxcast = cast short %reg254 to long ; <long> [#uses=1]
|
||||
%reg254-idxcast-scale = mul long %reg254-idxcast, -1 ; <long> [#uses=1]
|
||||
%reg254-idxcast-scale-offset = add long %reg254-idxcast-scale, 1 ; <long> [#uses=1]
|
||||
%reg261.idx1 = getelementptr %YYSTYPE* %reg259, long %reg254-idxcast-scale-offset, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg261.idx1 = getelementptr %YYSTYPE* %reg259, long %reg254-idxcast-scale-offset, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg261 = load %IntList* %reg261.idx1 ; <%IntList> [#uses=1]
|
||||
store %IntList %reg261, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %reg261, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
%cond812 = seteq int %reg468, 13 ; <bool> [#uses=1]
|
||||
br bool %cond812, label %bb85, label %bb37
|
||||
|
||||
@ -456,9 +456,9 @@ bb74: ; preds = %bb42
|
||||
|
||||
bb75: ; preds = %bb43
|
||||
%reg262 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%reg264.idx1 = getelementptr %YYSTYPE* %reg262, long -2, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg264.idx1 = getelementptr %YYSTYPE* %reg262, long -2, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg264 = load %IntList* %reg264.idx1 ; <%IntList> [#uses=1]
|
||||
%reg265.idx = getelementptr %YYSTYPE* %reg262, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg265.idx = getelementptr %YYSTYPE* %reg262, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg265 = load %IntList* %reg265.idx ; <%IntList> [#uses=1]
|
||||
%cast889 = cast %IntList %reg265 to %List ; <%List> [#uses=1]
|
||||
%cast890 = cast %IntList %reg264 to %List ; <%List> [#uses=1]
|
||||
@ -466,175 +466,175 @@ bb75: ; preds = %bb43
|
||||
br label %bb97
|
||||
|
||||
bb76: ; preds = %bb40
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb77: ; preds = %bb45
|
||||
%reg269 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%cast894 = getelementptr %YYSTYPE* %reg269, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast894 = getelementptr %YYSTYPE* %reg269, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg271 = load %IntList* %cast894 ; <%IntList> [#uses=1]
|
||||
%reg271 = cast %IntList %reg271 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg272.idx1 = getelementptr %YYSTYPE* %reg269, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg272.idx1 = getelementptr %YYSTYPE* %reg269, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg272 = load %IntList* %reg272.idx1 ; <%IntList> [#uses=1]
|
||||
%cast901 = cast %IntList %reg272 to %List ; <%List> [#uses=1]
|
||||
%reg901 = call %List %newList( sbyte* %reg271, %List %cast901 ) ; <%List> [#uses=1]
|
||||
cast %List %reg901 to %IntList ; <%IntList>:0 [#uses=1]
|
||||
store %IntList %0, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %0, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb78: ; preds = %bb46
|
||||
%reg275 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1]
|
||||
%reg277.idx = getelementptr %YYSTYPE* %reg275, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg277.idx = getelementptr %YYSTYPE* %reg275, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg277 = load %IntList* %reg277.idx ; <%IntList> [#uses=1]
|
||||
%cast907 = cast %IntList %reg277 to %List ; <%List> [#uses=1]
|
||||
%reg907 = call %Arity %newArity( int -1, %List %cast907 ) ; <%Arity> [#uses=1]
|
||||
cast %Arity %reg907 to %IntList ; <%IntList>:1 [#uses=1]
|
||||
store %IntList %1, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %1, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb79: ; preds = %bb38
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
%reg281 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1]
|
||||
%cast912 = getelementptr %YYSTYPE* %reg281, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast912 = getelementptr %YYSTYPE* %reg281, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg282 = load %IntList* %cast912 ; <%IntList> [#uses=1]
|
||||
%reg282 = cast %IntList %reg282 to %List ; <%List> [#uses=1]
|
||||
call void %doGram( %List %reg282 )
|
||||
br label %bb97
|
||||
|
||||
bb80: ; preds = %bb50
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
%reg285 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1]
|
||||
%cast917 = getelementptr %YYSTYPE* %reg285, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast917 = getelementptr %YYSTYPE* %reg285, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg286 = load %IntList* %cast917 ; <%IntList> [#uses=1]
|
||||
%reg286 = cast %IntList %reg286 to sbyte* ; <sbyte*> [#uses=1]
|
||||
call void %doStart( sbyte* %reg286 )
|
||||
br label %bb97
|
||||
|
||||
bb81: ; preds = %bb51
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb82: ; preds = %bb48
|
||||
%reg290 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%cast923 = getelementptr %YYSTYPE* %reg290, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast923 = getelementptr %YYSTYPE* %reg290, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg292 = load %IntList* %cast923 ; <%IntList> [#uses=1]
|
||||
%reg292 = cast %IntList %reg292 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg293.idx1 = getelementptr %YYSTYPE* %reg290, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg293.idx1 = getelementptr %YYSTYPE* %reg290, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg293 = load %IntList* %reg293.idx1 ; <%IntList> [#uses=1]
|
||||
%cast930 = cast %IntList %reg293 to %List ; <%List> [#uses=1]
|
||||
%reg930 = call %List %newList( sbyte* %reg292, %List %cast930 ) ; <%List> [#uses=1]
|
||||
cast %List %reg930 to %IntList ; <%IntList>:2 [#uses=1]
|
||||
store %IntList %2, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %2, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb83: ; preds = %bb53
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb84: ; preds = %bb54
|
||||
%reg298 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%cast936 = getelementptr %YYSTYPE* %reg298, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast936 = getelementptr %YYSTYPE* %reg298, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg300 = load %IntList* %cast936 ; <%IntList> [#uses=1]
|
||||
%reg300 = cast %IntList %reg300 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg301.idx1 = getelementptr %YYSTYPE* %reg298, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg301.idx1 = getelementptr %YYSTYPE* %reg298, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg301 = load %IntList* %reg301.idx1 ; <%IntList> [#uses=1]
|
||||
%cast943 = cast %IntList %reg301 to %List ; <%List> [#uses=1]
|
||||
%reg943 = call %List %newList( sbyte* %reg300, %List %cast943 ) ; <%List> [#uses=1]
|
||||
cast %List %reg943 to %IntList ; <%IntList>:3 [#uses=1]
|
||||
store %IntList %3, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %3, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb85: ; preds = %bb36
|
||||
%reg304 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%cast9521 = getelementptr %YYSTYPE* %reg304, long -2, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast9521 = getelementptr %YYSTYPE* %reg304, long -2, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg306 = load %IntList* %cast9521 ; <%IntList> [#uses=1]
|
||||
%reg306 = cast %IntList %reg306 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%cast953 = cast %YYSTYPE* %reg304 to int* ; <int*> [#uses=1]
|
||||
%reg307 = load int* %cast953 ; <int> [#uses=1]
|
||||
%reg955 = call %Binding %newBinding( sbyte* %reg306, int %reg307 ) ; <%Binding> [#uses=1]
|
||||
cast %Binding %reg955 to %IntList ; <%IntList>:4 [#uses=1]
|
||||
store %IntList %4, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %4, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb86: ; preds = %bb60
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb87: ; preds = %bb61
|
||||
%reg312 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%cast961 = getelementptr %YYSTYPE* %reg312, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast961 = getelementptr %YYSTYPE* %reg312, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg314 = load %IntList* %cast961 ; <%IntList> [#uses=1]
|
||||
%reg314 = cast %IntList %reg314 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg315.idx1 = getelementptr %YYSTYPE* %reg312, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg315.idx1 = getelementptr %YYSTYPE* %reg312, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg315 = load %IntList* %reg315.idx1 ; <%IntList> [#uses=1]
|
||||
%cast968 = cast %IntList %reg315 to %List ; <%List> [#uses=1]
|
||||
%reg968 = call %List %newList( sbyte* %reg314, %List %cast968 ) ; <%List> [#uses=1]
|
||||
cast %List %reg968 to %IntList ; <%IntList>:5 [#uses=1]
|
||||
store %IntList %5, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %5, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb88: ; preds = %bb58
|
||||
%reg318 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=4]
|
||||
%cast9791 = getelementptr %YYSTYPE* %reg318, long -6, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast9791 = getelementptr %YYSTYPE* %reg318, long -6, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg322 = load %IntList* %cast9791 ; <%IntList> [#uses=1]
|
||||
%reg322 = cast %IntList %reg322 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg323.idx1 = getelementptr %YYSTYPE* %reg318, long -4, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg323.idx1 = getelementptr %YYSTYPE* %reg318, long -4, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg323 = load %IntList* %reg323.idx1 ; <%IntList> [#uses=1]
|
||||
%reg987 = getelementptr %YYSTYPE* %reg318, long -2 ; <%YYSTYPE*> [#uses=1]
|
||||
%cast989 = cast %YYSTYPE* %reg987 to int* ; <int*> [#uses=1]
|
||||
%reg324 = load int* %cast989 ; <int> [#uses=1]
|
||||
%reg325.idx1 = getelementptr %YYSTYPE* %reg318, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg325.idx1 = getelementptr %YYSTYPE* %reg318, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg325 = load %IntList* %reg325.idx1 ; <%IntList> [#uses=1]
|
||||
%cast998 = cast %IntList %reg323 to %PatternAST ; <%PatternAST> [#uses=1]
|
||||
%reg996 = call %RuleAST %newRuleAST( sbyte* %reg322, %PatternAST %cast998, int %reg324, %IntList %reg325 ) ; <%RuleAST> [#uses=1]
|
||||
cast %RuleAST %reg996 to %IntList ; <%IntList>:6 [#uses=1]
|
||||
store %IntList %6, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %6, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb89: ; preds = %bb63
|
||||
%reg328 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1]
|
||||
%cast1002 = getelementptr %YYSTYPE* %reg328, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast1002 = getelementptr %YYSTYPE* %reg328, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg329 = load %IntList* %cast1002 ; <%IntList> [#uses=1]
|
||||
%reg329 = cast %IntList %reg329 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg1004 = call %PatternAST %newPatternAST( sbyte* %reg329, %List null ) ; <%PatternAST> [#uses=1]
|
||||
cast %PatternAST %reg1004 to %IntList ; <%IntList>:7 [#uses=1]
|
||||
store %IntList %7, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %7, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb90: ; preds = %bb64
|
||||
%reg333 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%cast10131 = getelementptr %YYSTYPE* %reg333, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast10131 = getelementptr %YYSTYPE* %reg333, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg335 = load %IntList* %cast10131 ; <%IntList> [#uses=1]
|
||||
%reg335 = cast %IntList %reg335 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg1015 = call %List %newList( sbyte* %reg335, %List null ) ; <%List> [#uses=1]
|
||||
%cast10211 = getelementptr %YYSTYPE* %reg333, long -3, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast10211 = getelementptr %YYSTYPE* %reg333, long -3, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg338 = load %IntList* %cast10211 ; <%IntList> [#uses=1]
|
||||
%reg338 = cast %IntList %reg338 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg1023 = call %PatternAST %newPatternAST( sbyte* %reg338, %List %reg1015 ) ; <%PatternAST> [#uses=1]
|
||||
cast %PatternAST %reg1023 to %IntList ; <%IntList>:8 [#uses=1]
|
||||
store %IntList %8, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %8, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb91: ; preds = %bb56
|
||||
%reg341 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=3]
|
||||
%cast10331 = getelementptr %YYSTYPE* %reg341, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast10331 = getelementptr %YYSTYPE* %reg341, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg344 = load %IntList* %cast10331 ; <%IntList> [#uses=1]
|
||||
%reg344 = cast %IntList %reg344 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg1035 = call %List %newList( sbyte* %reg344, %List null ) ; <%List> [#uses=1]
|
||||
%cast10411 = getelementptr %YYSTYPE* %reg341, long -3, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast10411 = getelementptr %YYSTYPE* %reg341, long -3, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg347 = load %IntList* %cast10411 ; <%IntList> [#uses=1]
|
||||
%reg347 = cast %IntList %reg347 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg1043 = call %List %newList( sbyte* %reg347, %List %reg1035 ) ; <%List> [#uses=1]
|
||||
%cast10491 = getelementptr %YYSTYPE* %reg341, long -5, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%cast10491 = getelementptr %YYSTYPE* %reg341, long -5, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg349 = load %IntList* %cast10491 ; <%IntList> [#uses=1]
|
||||
%reg349 = cast %IntList %reg349 to sbyte* ; <sbyte*> [#uses=1]
|
||||
%reg1051 = call %PatternAST %newPatternAST( sbyte* %reg349, %List %reg1043 ) ; <%PatternAST> [#uses=1]
|
||||
cast %PatternAST %reg1051 to %IntList ; <%IntList>:9 [#uses=1]
|
||||
store %IntList %9, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %9, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb92: ; preds = %bb68
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb93: ; preds = %bb69
|
||||
@ -642,14 +642,14 @@ bb93: ; preds = %bb69
|
||||
%reg1059 = getelementptr %YYSTYPE* %reg354, long -2 ; <%YYSTYPE*> [#uses=1]
|
||||
%cast1061 = cast %YYSTYPE* %reg1059 to int* ; <int*> [#uses=1]
|
||||
%reg356 = load int* %cast1061 ; <int> [#uses=1]
|
||||
%reg357.idx1 = getelementptr %YYSTYPE* %reg354, long -1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg357.idx1 = getelementptr %YYSTYPE* %reg354, long -1, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg357 = load %IntList* %reg357.idx1 ; <%IntList> [#uses=1]
|
||||
%reg1068 = call %IntList %newIntList( int %reg356, %IntList %reg357 ) ; <%IntList> [#uses=1]
|
||||
store %IntList %reg1068, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %reg1068, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb94: ; preds = %bb66
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb95: ; preds = %bb71
|
||||
@ -657,10 +657,10 @@ bb95: ; preds = %bb71
|
||||
%reg1076 = getelementptr %YYSTYPE* %reg362, long -1 ; <%YYSTYPE*> [#uses=1]
|
||||
%cast1078 = cast %YYSTYPE* %reg1076 to int* ; <int*> [#uses=1]
|
||||
%reg364 = load int* %cast1078 ; <int> [#uses=1]
|
||||
%reg365.idx = getelementptr %YYSTYPE* %reg362, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg365.idx = getelementptr %YYSTYPE* %reg362, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg365 = load %IntList* %reg365.idx ; <%IntList> [#uses=1]
|
||||
%reg1081 = call %IntList %newIntList( int %reg364, %IntList %reg365 ) ; <%IntList> [#uses=1]
|
||||
store %IntList %reg1081, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %reg1081, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb96: ; preds = %bb72
|
||||
@ -668,10 +668,10 @@ bb96: ; preds = %bb72
|
||||
%reg1088 = getelementptr %YYSTYPE* %reg368, long -1 ; <%YYSTYPE*> [#uses=1]
|
||||
%cast1090 = cast %YYSTYPE* %reg1088 to int* ; <int*> [#uses=1]
|
||||
%reg370 = load int* %cast1090 ; <int> [#uses=1]
|
||||
%reg371.idx = getelementptr %YYSTYPE* %reg368, long 0, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg371.idx = getelementptr %YYSTYPE* %reg368, long 0, uint 0 ; <%IntList*> [#uses=1]
|
||||
%reg371 = load %IntList* %reg371.idx ; <%IntList> [#uses=1]
|
||||
%reg1093 = call %IntList %newIntList( int %reg370, %IntList %reg371 ) ; <%IntList> [#uses=1]
|
||||
store %IntList %reg1093, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0)
|
||||
store %IntList %reg1093, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0)
|
||||
br label %bb97
|
||||
|
||||
bb97: ; preds = %bb96, %bb95, %bb94, %bb93, %bb92, %bb91, %bb90, %bb89, %bb88, %bb87, %bb86, %bb85, %bb84, %bb83, %bb82, %bb81, %bb80, %bb79, %bb78, %bb77, %bb76, %bb75, %bb74, %bb72, %bb69, %bb64, %bb61, %bb54, %bb51, %bb46, %bb43
|
||||
@ -708,8 +708,8 @@ bb99: ; preds = %bb98
|
||||
%reg403 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%reg1128 = getelementptr %YYSTYPE* %reg403, long 1 ; <%YYSTYPE*> [#uses=1]
|
||||
store %YYSTYPE* %reg1128, %YYSTYPE** %yyvsp
|
||||
%reg406 = load %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) ; <%IntList> [#uses=1]
|
||||
%reg1128.idx1 = getelementptr %YYSTYPE* %reg403, long 1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg406 = load %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0) ; <%IntList> [#uses=1]
|
||||
%reg1128.idx1 = getelementptr %YYSTYPE* %reg403, long 1, uint 0 ; <%IntList*> [#uses=1]
|
||||
store %IntList %reg406, %IntList* %reg1128.idx1
|
||||
%reg407 = load int* %yychar ; <int> [#uses=1]
|
||||
%cond1135 = setge int %reg407, 0 ; <bool> [#uses=1]
|
||||
@ -790,8 +790,8 @@ bb112: ; preds = %bb111, %bb110
|
||||
%reg449 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2]
|
||||
%reg1202 = getelementptr %YYSTYPE* %reg449, long 1 ; <%YYSTYPE*> [#uses=1]
|
||||
store %YYSTYPE* %reg1202, %YYSTYPE** %yyvsp
|
||||
%reg452 = load %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) ; <%IntList> [#uses=1]
|
||||
%reg1202.idx1 = getelementptr %YYSTYPE* %reg449, long 1, ubyte 0 ; <%IntList*> [#uses=1]
|
||||
%reg452 = load %IntList* getelementptr (%YYSTYPE* %yyval, long 0, uint 0) ; <%IntList> [#uses=1]
|
||||
%reg1202.idx1 = getelementptr %YYSTYPE* %reg449, long 1, uint 0 ; <%IntList*> [#uses=1]
|
||||
store %IntList %reg452, %IntList* %reg1202.idx1
|
||||
br label %bb4
|
||||
|
||||
|
@ -22,7 +22,7 @@ int %main(int %argc, sbyte** %argv) {
|
||||
bb0: ;[#uses=0]
|
||||
call void %opaque([497 x %Domain]* %domain_array)
|
||||
%cann-indvar-idxcast = cast int %argc to long
|
||||
%reg841 = getelementptr [497 x %Domain]* %domain_array, long 0, long %cann-indvar-idxcast, ubyte 3
|
||||
%reg841 = getelementptr [497 x %Domain]* %domain_array, long 0, long %cann-indvar-idxcast, uint 3
|
||||
%reg846 = getelementptr int* %reg841, long 1
|
||||
%reg820 = load int* %reg846
|
||||
ret int %reg820
|
||||
|
@ -20,28 +20,28 @@ begin
|
||||
%ArrayA = alloca %MixedA, uint 4
|
||||
%ArrayB = alloca %MixedB, uint 3
|
||||
|
||||
%I1 = getelementptr %MixedA* %ScalarA, long 0, ubyte 0
|
||||
%I1 = getelementptr %MixedA* %ScalarA, long 0, uint 0
|
||||
store float 1.4142, float *%I1
|
||||
%I2 = getelementptr %MixedB* %ScalarB, long 0, ubyte 1, ubyte 0
|
||||
%I2 = getelementptr %MixedB* %ScalarB, long 0, uint 1, uint 0
|
||||
store float 2.7183, float *%I2
|
||||
|
||||
%fptrA = getelementptr %MixedA* %ArrayA, long 1, ubyte 0
|
||||
%fptrB = getelementptr %MixedB* %ArrayB, long 2, ubyte 1, ubyte 0
|
||||
%fptrA = getelementptr %MixedA* %ArrayA, long 1, uint 0
|
||||
%fptrB = getelementptr %MixedB* %ArrayB, long 2, uint 1, uint 0
|
||||
|
||||
store float 3.1415, float* %fptrA
|
||||
store float 5.0, float* %fptrB
|
||||
|
||||
;; Test that a sequence of GEPs with constant indices are folded right
|
||||
%fptrA1 = getelementptr %MixedA* %ArrayA, long 3 ; &ArrayA[3]
|
||||
%fptrA2 = getelementptr %MixedA* %fptrA1, long 0, ubyte 1 ; &(*fptrA1).1
|
||||
%fptrA2 = getelementptr %MixedA* %fptrA1, long 0, uint 1 ; &(*fptrA1).1
|
||||
%fptrA3 = getelementptr [15 x int]* %fptrA2, long 0, long 8 ; &(*fptrA2)[8]
|
||||
store int 5, int* %fptrA3 ; ArrayA[3].1[8] = 5
|
||||
|
||||
%sqrtTwo = load float *%I1
|
||||
%exp = load float *%I2
|
||||
%I3 = getelementptr %MixedA* %ArrayA, long 1, ubyte 0
|
||||
%I3 = getelementptr %MixedA* %ArrayA, long 1, uint 0
|
||||
%pi = load float* %I3
|
||||
%I4 = getelementptr %MixedB* %ArrayB, long 2, ubyte 1, ubyte 0
|
||||
%I4 = getelementptr %MixedB* %ArrayB, long 2, uint 1, uint 0
|
||||
%five = load float* %I4
|
||||
|
||||
%dsqrtTwo = cast float %sqrtTwo to double
|
||||
|
@ -203,7 +203,7 @@ end
|
||||
;
|
||||
int "checkFoldGEP"(%Domain* %D, long %idx)
|
||||
begin
|
||||
%reg841 = getelementptr %Domain* %D, long 0, ubyte 1
|
||||
%reg841 = getelementptr %Domain* %D, long 0, uint 1
|
||||
%reg820 = load int* %reg841
|
||||
ret int %reg820
|
||||
end
|
||||
|
@ -61,17 +61,18 @@ global float 0.0
|
||||
%S3 = global %SAType* %S3c ;; Ref. to constant S3
|
||||
|
||||
;; Pointer to float (**%S1).1.0
|
||||
%S1fld1a = global float* getelementptr (%SType* %S2c, long 0, ubyte 1, ubyte 0)
|
||||
%S1fld1a = global float* getelementptr (%SType* %S2c, long 0, uint 1, uint 0)
|
||||
;; Another ptr to the same!
|
||||
%S1fld1b = global float* getelementptr (%SType* %S2c, long 0, ubyte 1, ubyte 0)
|
||||
%S1fld1b = global float* getelementptr (%SType* %S2c, long 0, uint 1, uint 0)
|
||||
|
||||
%S1fld1bptr = global float** %S1fld1b ;; Ref. to previous pointer
|
||||
|
||||
;; Pointer to ubyte (**%S2).1.1.0
|
||||
%S2fld3 = global ubyte* getelementptr (%SType* %S2c, long 0, ubyte 1, ubyte 1, ubyte 0)
|
||||
%S2fld3 = global ubyte* getelementptr (%SType* %S2c, long 0, uint 1, uint 1, %uint 0)
|
||||
|
||||
;; Pointer to float (**%S2).1.0[0]
|
||||
;%S3fld3 = global float* getelementptr (%SAType** %S3, long 0, long 0, ubyte 1, ubyte 0, long 0)
|
||||
;%S3fld3 = global float* getelementptr (%SAType** %S3, long 0, long 0, uint 1,
|
||||
uint 0, long 0)
|
||||
|
||||
;;---------------------------------------------------------
|
||||
;; TODO: Test constant expressions for unary and binary operators
|
||||
@ -86,7 +87,7 @@ global float 0.0
|
||||
|
||||
%char8a = global int* cast (sbyte* getelementptr([11x sbyte]* %somestr, long 0, long 8) to int*)
|
||||
|
||||
;%S3fld3 = global float* getelementptr (%SAType** %S3, long 0, long 0, ubyte 1, ubyte 0, long 0)
|
||||
;%S3fld3 = global float* getelementptr (%SAType** %S3, long 0, long 0, uint 1, uint 0, long 0)
|
||||
|
||||
|
||||
;;---------------------------------------------------
|
||||
|
@ -19,7 +19,7 @@ implementation
|
||||
int "foo"(int %blah)
|
||||
begin
|
||||
store int 5, int *%MyVar
|
||||
%idx = getelementptr { \2 *, int } * %MyIntList, long 0, ubyte 1
|
||||
%idx = getelementptr { \2 *, int } * %MyIntList, long 0, uint 1
|
||||
store int 12, int* %idx
|
||||
ret int %blah
|
||||
end
|
||||
|
@ -93,7 +93,7 @@ bb3:
|
||||
ret %list* null
|
||||
|
||||
bb4:
|
||||
%idx = getelementptr %list* %reg115, long 0, ubyte 1 ;;<int>
|
||||
%idx = getelementptr %list* %reg115, long 0, uint 1 ;;<int>
|
||||
%reg111 = load int* %idx
|
||||
%cond1013 = setne int %reg111, %Data ;;<bool>
|
||||
br bool %cond1013, label %bb6, label %bb5
|
||||
@ -102,7 +102,7 @@ bb5:
|
||||
ret %list* %reg115
|
||||
|
||||
bb6:
|
||||
%idx2 = getelementptr %list* %reg115, long 0, ubyte 0 ;;<%list*>
|
||||
%idx2 = getelementptr %list* %reg115, long 0, uint 0 ;;<%list*>
|
||||
%reg116 = load %list** %idx2
|
||||
br label %bb2
|
||||
end
|
||||
|
@ -15,12 +15,12 @@ begin
|
||||
%val = load int* %ptr ; yields {int}:val = int %3
|
||||
|
||||
%sptr = alloca %struct ; yields {%struct*}:sptr
|
||||
%nsptr = getelementptr %struct * %sptr, long 0, ubyte 1 ; yields {inners*}:nsptr
|
||||
%ubsptr = getelementptr %inners * %nsptr, long 0, ubyte 1 ; yields {{ubyte}*}:ubsptr
|
||||
%idx = getelementptr {ubyte} * %ubsptr, long 0, ubyte 0
|
||||
%nsptr = getelementptr %struct * %sptr, long 0, uint 1 ; yields {inners*}:nsptr
|
||||
%ubsptr = getelementptr %inners * %nsptr, long 0, uint 1 ; yields {{ubyte}*}:ubsptr
|
||||
%idx = getelementptr {ubyte} * %ubsptr, long 0, uint 0
|
||||
store ubyte 4, ubyte* %idx
|
||||
|
||||
%fptr = getelementptr %struct * %sptr, long 0, ubyte 1, ubyte 0 ; yields {float*}:fptr
|
||||
%fptr = getelementptr %struct * %sptr, long 0, uint 1, uint 0 ; yields {float*}:fptr
|
||||
store float 4.0, float * %fptr
|
||||
|
||||
ret int 3
|
||||
|
@ -28,7 +28,7 @@ begin
|
||||
|
||||
|
||||
%aa = alloca %complexty, uint 5
|
||||
%idx2 = getelementptr %complexty* %aa, long %i0, ubyte 1, ubyte 0, long %j0
|
||||
%idx2 = getelementptr %complexty* %aa, long %i0, uint 1, uint 0, long %j0
|
||||
store sbyte *null, sbyte** %idx2
|
||||
|
||||
%ptr = alloca int ; yields {int*}:ptr
|
||||
@ -36,8 +36,8 @@ begin
|
||||
%val = load int* %ptr ; yields {int}:val = int %3
|
||||
|
||||
%sptr = alloca %struct ; yields {%struct*}:sptr
|
||||
%ubsptr = getelementptr %struct * %sptr, long 0, ubyte 1, ubyte 1 ; yields {{ubyte}*}:ubsptr
|
||||
%idx3 = getelementptr {ubyte} * %ubsptr, long 0, ubyte 0
|
||||
%ubsptr = getelementptr %struct * %sptr, long 0, uint 1, uint 1 ; yields {{ubyte}*}:ubsptr
|
||||
%idx3 = getelementptr {ubyte} * %ubsptr, long 0, uint 0
|
||||
store ubyte 4, ubyte* %idx3
|
||||
|
||||
ret int 3
|
||||
|
@ -25,7 +25,7 @@ begin
|
||||
%v1 = load int* %MyVar
|
||||
call void %print(int %v1) ;; Should start out 4
|
||||
|
||||
%idx = getelementptr { \2 *, int }* %MyIntList, long 0, ubyte 1
|
||||
%idx = getelementptr { \2 *, int }* %MyIntList, long 0, uint 1
|
||||
%v2 = load int* %idx
|
||||
call void %print(int %v2) ;; Should start out 17
|
||||
|
||||
|
@ -20,7 +20,7 @@ implementation
|
||||
int "foo"(int %blah)
|
||||
begin
|
||||
store int %blah, int *%MyVar
|
||||
%idx = getelementptr { \2 *, int } * %MyIntList, long 0, ubyte 1
|
||||
%idx = getelementptr { \2 *, int } * %MyIntList, long 0, uint 1
|
||||
store int 12, int* %idx
|
||||
|
||||
%ack = load int * %0 ;; Load from the unnamed constant
|
||||
|
@ -23,7 +23,7 @@ bb1: ;[#uses=2]
|
||||
|
||||
bb2: ;[#uses=3]
|
||||
%reg109 = phi %node_t* [ %reg110, %bb2 ], [ %reg107, %bb1 ] ; <%node_t*> [#uses=1]
|
||||
%reg212 = getelementptr %node_t* %reg109, long 0, ubyte 1 ; <%node_t**> [#uses=1]
|
||||
%reg212 = getelementptr %node_t* %reg109, long 0, uint 1 ; <%node_t**> [#uses=1]
|
||||
%reg110 = load %node_t** %reg212 ; <%node_t*> [#uses=2]
|
||||
%cond213 = setne %node_t* %reg110, null ; <bool> [#uses=1]
|
||||
br bool %cond213, label %bb2, label %bb3
|
||||
|
@ -39,7 +39,7 @@ bb3: ;[#uses=2]
|
||||
br bool %cond267, label %bb5, label %bb4
|
||||
|
||||
bb4: ;[#uses=2]
|
||||
%reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, ubyte 3 ; <ubyte*> [#uses=1]
|
||||
%reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1]
|
||||
%cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0]
|
||||
%cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0]
|
||||
call void %exit( int 1 )
|
||||
@ -49,9 +49,9 @@ bb5: ;[#uses=1]
|
||||
%reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2]
|
||||
%reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1]
|
||||
%reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
|
||||
%idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, ubyte 2 ; <int> [#uses=3]
|
||||
%idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3]
|
||||
%reg1321 = load int* %idx1
|
||||
%idx2 = getelementptr %spec_fd_t* %reg1311, long 0, ubyte 1 ; <int> [#uses=1]
|
||||
%idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1]
|
||||
%reg1331 = load int* %idx2
|
||||
%cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1]
|
||||
br bool %cond270, label %bb9, label %bb6
|
||||
@ -70,14 +70,14 @@ bb8: ;[#uses=3]
|
||||
|
||||
bb9: ;[#uses=1]
|
||||
%reg107-idxcast3 = cast int %fd to long ; <long> [#uses=1]
|
||||
%idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, ubyte 3 ; <ubyte*> [#uses=1]
|
||||
%idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1]
|
||||
%reg1601 = load ubyte** %idx3
|
||||
%reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1]
|
||||
%idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2]
|
||||
%reg1621 = load ubyte* %idx4
|
||||
%cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0]
|
||||
%reg157 = add int %reg1321, 1 ; <int> [#uses=1]
|
||||
%idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, ubyte 2
|
||||
%idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2
|
||||
store int %reg157, int* %idx5
|
||||
%reg163 = load int* %dbglvl ; <int> [#uses=1]
|
||||
%cond272 = setle int %reg163, 4 ; <bool> [#uses=1]
|
||||
|
@ -40,7 +40,7 @@ bb3: ;[#uses=2]
|
||||
br label %bb5
|
||||
|
||||
bb4: ;[#uses=2]
|
||||
%reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, ubyte 3 ; <ubyte*> [#uses=1]
|
||||
%reg111 = getelementptr [20 x %FILE]* %__iob, long 0, long 1, uint 3 ; <ubyte*> [#uses=1]
|
||||
%cast274 = getelementptr [34 x sbyte]* %.LC9, long 0, long 0 ; <sbyte*> [#uses=0]
|
||||
%cast282 = cast ubyte* %reg111 to %FILE* ; <%FILE*> [#uses=0]
|
||||
call void %exit( int 1 )
|
||||
@ -50,9 +50,9 @@ bb5: ;[#uses=1]
|
||||
%reg107-idxcast1 = cast int %fd to long ; <long> [#uses=2]
|
||||
%reg107-idxcast2 = cast int %fd to long ; <long> [#uses=1]
|
||||
%reg1311 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast2 ; <%spec_fd_t*> [#uses=1]
|
||||
%idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, ubyte 2 ; <int> [#uses=3]
|
||||
%idx1 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2 ; <int> [#uses=3]
|
||||
%reg1321 = load int* %idx1
|
||||
%idx2 = getelementptr %spec_fd_t* %reg1311, long 0, ubyte 1 ; <int> [#uses=1]
|
||||
%idx2 = getelementptr %spec_fd_t* %reg1311, long 0, uint 1 ; <int> [#uses=1]
|
||||
%reg1331 = load int* %idx2
|
||||
%cond270 = setlt int %reg1321, %reg1331 ; <bool> [#uses=1]
|
||||
br bool %cond270, label %bb9, label %bb6
|
||||
@ -71,14 +71,14 @@ bb8: ;[#uses=3]
|
||||
|
||||
bb9: ;[#uses=1]
|
||||
%reg107-idxcast3 = cast int %fd to long ; <uint> [#uses=1]
|
||||
%idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, ubyte 3 ; <ubyte*> [#uses=1]
|
||||
%idx3 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast3, uint 3 ; <ubyte*> [#uses=1]
|
||||
%reg1601 = load ubyte** %idx3
|
||||
%reg132-idxcast1 = cast int %reg1321 to long ; <long> [#uses=1]
|
||||
%idx4 = getelementptr ubyte* %reg1601, long %reg132-idxcast1 ; <ubyte> [#uses=2]
|
||||
%reg1621 = load ubyte* %idx4
|
||||
%cast108 = cast ubyte %reg1621 to long ; <long> [#uses=0]
|
||||
%reg157 = add int %reg1321, 1 ; <int> [#uses=1]
|
||||
%idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, ubyte 2
|
||||
%idx5 = getelementptr [3 x %spec_fd_t]* %spec_fd, long 0, long %reg107-idxcast1, uint 2
|
||||
store int %reg157, int* %idx5
|
||||
%reg163 = load int* %dbglvl ; <int> [#uses=1]
|
||||
%cond272 = setle int %reg163, 4 ; <bool> [#uses=1]
|
||||
|
@ -7,8 +7,8 @@
|
||||
implementation
|
||||
|
||||
internal int %test(%QuadTy* %P) {
|
||||
%A = getelementptr %QuadTy* %P, long 0, ubyte 3
|
||||
%B = getelementptr %QuadTy* %P, long 0, ubyte 2
|
||||
%A = getelementptr %QuadTy* %P, long 0, uint 3
|
||||
%B = getelementptr %QuadTy* %P, long 0, uint 2
|
||||
%a = load int* %A
|
||||
%b = load int* %B
|
||||
%V = add int %a, %b
|
||||
|
@ -8,7 +8,7 @@ implementation
|
||||
declare int %test(int*)
|
||||
|
||||
void %foo() {
|
||||
call int %test(int* getelementptr ( {int} * %foo, long 0, ubyte 0))
|
||||
call int %test(int* getelementptr ( {int} * %bar, long 0, ubyte 0))
|
||||
call int %test(int* getelementptr ( {int} * %foo, long 0, uint 0))
|
||||
call int %test(int* getelementptr ( {int} * %bar, long 0, uint 0))
|
||||
ret void
|
||||
}
|
||||
|
@ -18,12 +18,12 @@ bb2: ; preds = %bb3, %bb0
|
||||
br bool %cond217, label %bb4, label %bb3
|
||||
|
||||
bb3: ; preds = %bb2
|
||||
%reg221 = getelementptr %HANDLE* %reg113, long 0, ubyte 1 ; <%HANDLE**> [#uses=1]
|
||||
%reg221 = getelementptr %HANDLE* %reg113, long 0, uint 1 ; <%HANDLE**> [#uses=1]
|
||||
%reg108 = load %HANDLE** %reg221 ; <%HANDLE*> [#uses=1]
|
||||
%reg226 = getelementptr %HANDLE* %reg113, long 0, ubyte 2 ; <%HANDLE**> [#uses=1]
|
||||
%reg226 = getelementptr %HANDLE* %reg113, long 0, uint 2 ; <%HANDLE**> [#uses=1]
|
||||
%reg109 = load %HANDLE** %reg226 ; <%HANDLE*> [#uses=1]
|
||||
call void %InOrder( %HANDLE* %reg108 )
|
||||
%cast231 = getelementptr %HANDLE* %reg113, long 0, ubyte 0 ; <int*> [#uses=1]
|
||||
%cast231 = getelementptr %HANDLE* %reg113, long 0, uint 0 ; <int*> [#uses=1]
|
||||
%reg111 = load int* %cast231 ; <int> [#uses=1]
|
||||
%reg233 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([11 x sbyte]* %.LC0, long 0, long 0), int %reg111, uint 0 ) ; <int> [#uses=0]
|
||||
br label %bb2
|
||||
|
@ -5,35 +5,35 @@
|
||||
implementation
|
||||
|
||||
sbyte *%test1(%crazy* %P1) { ; No merging, constant indexing
|
||||
%P = getelementptr %crazy* %P1, long 0, long 0, ubyte 0, long 1
|
||||
%P = getelementptr %crazy* %P1, long 0, long 0, uint 0, long 1
|
||||
ret sbyte *%P
|
||||
}
|
||||
|
||||
sbyte *%test2(%crazy* %P1) { ; No merging, constant indexing
|
||||
%P = getelementptr %crazy* %P1, long 0, long 1, ubyte 0, long 0
|
||||
%P = getelementptr %crazy* %P1, long 0, long 1, uint 0, long 0
|
||||
ret sbyte *%P
|
||||
}
|
||||
|
||||
sbyte *%test3(%crazy* %P1) { ; No merging, constant indexing, must handle outter index
|
||||
%P = getelementptr %crazy* %P1, long -1, long 0, ubyte 0, long 0
|
||||
%P = getelementptr %crazy* %P1, long -1, long 0, uint 0, long 0
|
||||
ret sbyte *%P
|
||||
}
|
||||
|
||||
sbyte *%mtest1(%crazy* %P1, long %idx) { ; Merging deepest array
|
||||
%P = getelementptr %crazy* %P1, long 0, long 0, ubyte 0, long %idx
|
||||
%P = getelementptr %crazy* %P1, long 0, long 0, uint 0, long %idx
|
||||
ret sbyte *%P
|
||||
}
|
||||
sbyte *%mtest2(%crazy* %P1, long %idx) { ; Merge top array
|
||||
%P = getelementptr %crazy* %P1, long 0, long %idx, ubyte 0, long 1
|
||||
%P = getelementptr %crazy* %P1, long 0, long %idx, uint 0, long 1
|
||||
ret sbyte *%P
|
||||
}
|
||||
sbyte *%mtest3(%crazy* %P1, long %idx) { ; Merge array %crazy is in
|
||||
%P = getelementptr %crazy* %P1, long %idx, long 0, ubyte 0, long 1
|
||||
%P = getelementptr %crazy* %P1, long %idx, long 0, uint 0, long 1
|
||||
ret sbyte *%P
|
||||
}
|
||||
|
||||
sbyte *%m2test1(%crazy* %P1, long %idx) { ; Merge two arrays
|
||||
%P = getelementptr %crazy* %P1, long 0, long %idx, ubyte 0, long %idx
|
||||
%P = getelementptr %crazy* %P1, long 0, long %idx, uint 0, long %idx
|
||||
ret sbyte *%P
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ void %test1({int, int} * %X) {
|
||||
void %test2({int, int} * %X) {
|
||||
getelementptr {int, int} * %X, long 0
|
||||
%Y = cast {int, int} * %X to {sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte} *
|
||||
%Z = getelementptr {sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte}* %Y, long 0, ubyte 7
|
||||
%Z = getelementptr {sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte,sbyte}* %Y, long 0, uint 7
|
||||
store sbyte 6, sbyte *%Z
|
||||
ret void
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ int *%foo(ulong %A, double %B, long %C) {
|
||||
store int* %E, int** %X
|
||||
|
||||
%F = malloc {int}
|
||||
%G = getelementptr {int}* %F, long 0, ubyte 0
|
||||
%G = getelementptr {int}* %F, long 0, uint 0
|
||||
store int* %G, int** %X
|
||||
|
||||
%K = malloc int **
|
||||
|
@ -8,10 +8,10 @@ implementation
|
||||
void %bar(%str* %S, bool %C) {
|
||||
br bool %C, label %T, label %F
|
||||
T:
|
||||
%A = getelementptr %str* %S, long 0, ubyte 0
|
||||
%A = getelementptr %str* %S, long 0, uint 0
|
||||
br label %Out
|
||||
F:
|
||||
%B = getelementptr %str* %S, long 0, ubyte 1
|
||||
%B = getelementptr %str* %S, long 0, uint 1
|
||||
br label %Out
|
||||
Out:
|
||||
%P = phi int** [%A, %T], [%B, %F]
|
||||
|
@ -50,9 +50,9 @@ L3:
|
||||
}
|
||||
|
||||
int %test6({int, int}* %A) {
|
||||
%B = getelementptr {int, int}* %A, long 0, ubyte 0
|
||||
%B = getelementptr {int, int}* %A, long 0, uint 0
|
||||
%b = load int* %B
|
||||
%C = getelementptr {int, int}* %A, long 0, ubyte 1
|
||||
%C = getelementptr {int, int}* %A, long 0, uint 1
|
||||
%c = load int* %C
|
||||
%d = add int %b, %c
|
||||
ret int %d
|
||||
|
@ -6,10 +6,10 @@
|
||||
%DT = type { int, int*, int } ; "derived type"
|
||||
|
||||
int %test(%DT* %DT) {
|
||||
%DTp = getelementptr %DT* %DT, long 0, ubyte 0
|
||||
%DTp = getelementptr %DT* %DT, long 0, uint 0
|
||||
%A = load int* %DTp
|
||||
%ST = cast %DT* %DT to %ST*
|
||||
%STp = getelementptr %ST* %ST, long 0, ubyte 0
|
||||
%STp = getelementptr %ST* %ST, long 0, uint 0
|
||||
%B = load int* %STp
|
||||
%C = sub int %A, %B ; A & B are equal, %C = 0
|
||||
ret int %C
|
||||
|
@ -5,10 +5,10 @@
|
||||
implementation
|
||||
|
||||
void %bar(%str* %S, %str* %T) {
|
||||
%A1 = getelementptr %str* %S, long 0, ubyte 0
|
||||
%B1 = getelementptr %str* %S, long 0, ubyte 1
|
||||
%A2 = getelementptr %str* %S, long 0, ubyte 0
|
||||
%B2 = getelementptr %str* %S, long 0, ubyte 1
|
||||
%A1 = getelementptr %str* %S, long 0, uint 0
|
||||
%B1 = getelementptr %str* %S, long 0, uint 1
|
||||
%A2 = getelementptr %str* %S, long 0, uint 0
|
||||
%B2 = getelementptr %str* %S, long 0, uint 1
|
||||
%a1 = cast int* %A1 to long*
|
||||
%a2 = cast int* %A2 to long*
|
||||
%V = load long* %a1
|
||||
|
@ -9,6 +9,6 @@
|
||||
implementation
|
||||
|
||||
int* %test() {
|
||||
%P = getelementptr {int}* %X, long 0, ubyte 0
|
||||
%P = getelementptr {int}* %X, long 0, uint 0
|
||||
ret int* %P
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ void %foo() {
|
||||
%Blah = alloca [58 x sbyte] ; <[58 x sbyte]*> [#uses=2]
|
||||
%tmp3 = cast [58 x sbyte]* %Blah to sbyte*
|
||||
call void %llvm.memcpy( sbyte* cast ([4 x int]* %G1 to sbyte*), sbyte* %tmp3, uint 16, uint 1)
|
||||
call void %llvm.memset( sbyte* getelementptr ([58 x sbyte]* %G0, int 0, int 0), ubyte 17, uint 58, uint 1)
|
||||
call void %llvm.memset( sbyte* getelementptr ([58 x sbyte]* %G0, int 0, int 0), uint 17, uint 58, uint 1)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
int %alias() {
|
||||
%pbob1 = alloca %bob
|
||||
%pbob2 = getelementptr %bob* %pbob1
|
||||
%pbobel = getelementptr %bob* %pbob2, long 0, ubyte 0
|
||||
%pbobel = getelementptr %bob* %pbob2, long 0, uint 0
|
||||
%rval = load int* %pbobel
|
||||
ret int %rval
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
implementation
|
||||
|
||||
bool %test() {
|
||||
%A = getelementptr %X* null, long 0, ubyte 0, long 0
|
||||
%A = getelementptr %X* null, long 0, uint 0, long 0
|
||||
%B = setne int* %A, null
|
||||
ret bool %B
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ int* %foo3(int * %I) { ; Test that two array indexing geps fold
|
||||
|
||||
int* %foo4({int} *%I) { ; Test that two getelementptr insts fold
|
||||
%A = getelementptr {int}* %I, long 1
|
||||
%B = getelementptr {int}* %A, long 0, ubyte 0
|
||||
%B = getelementptr {int}* %A, long 0, uint 0
|
||||
ret int* %B
|
||||
}
|
||||
|
||||
|
@ -15,20 +15,20 @@ int %test1() {
|
||||
}
|
||||
|
||||
float %test2() {
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, ubyte 1
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, uint 1
|
||||
%B = load float* %A
|
||||
ret float %B
|
||||
}
|
||||
|
||||
|
||||
int %test3() {
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, ubyte 0
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, uint 0
|
||||
%B = load int* %A
|
||||
ret int %B
|
||||
}
|
||||
|
||||
int %test4() {
|
||||
%A = getelementptr [2 x { int, float}]* %Z, long 0, long 1, ubyte 0
|
||||
%A = getelementptr [2 x { int, float}]* %Z, long 0, long 1, uint 0
|
||||
%B = load int* %A
|
||||
ret int %B
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
int %test() {
|
||||
br label %Loop
|
||||
Loop:
|
||||
%dead = getelementptr %Ty* %X, long 0, ubyte 0
|
||||
%dead = getelementptr %Ty* %X, long 0, uint 0
|
||||
%sunk2 = load int* %dead
|
||||
br bool false, label %Loop, label %Out
|
||||
Out:
|
||||
|
@ -14,7 +14,7 @@ bb0: ;[#uses=1]
|
||||
%A = cast %Village* %village to ulong
|
||||
%reg123 = add ulong %A, %cast121 ; <%Village *> [#uses=1]
|
||||
%reg123 = cast ulong %reg123 to %Village*
|
||||
%idx = getelementptr %Village * %reg123, long 0, ubyte 0, long 0 ; <%Village *> [#uses=1]
|
||||
%idx = getelementptr %Village * %reg123, long 0, uint 0, long 0 ; <%Village *> [#uses=1]
|
||||
%reg118 = load %Village** %idx
|
||||
ret %Village *%reg118
|
||||
end
|
||||
|
@ -12,7 +12,7 @@ bb22: ; preds = %bb5
|
||||
br bool false, label %bb24, label %UnifiedExitNode
|
||||
|
||||
bb24: ; preds = %bb22
|
||||
%reg399 = getelementptr { ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }* %reg107, long 0, ubyte 8 ; <sbyte* (sbyte*, uint, uint)**> [#uses=1]
|
||||
%reg399 = getelementptr { ubyte*, uint, ulong, ubyte*, uint, ulong, sbyte*, { \4, int, ubyte*, ulong, ubyte*, int, int, ubyte, ubyte, int, uint, uint, uint, ubyte*, ulong, ushort*, ushort*, uint, uint, uint, uint, uint, long, uint, uint, int, uint, uint, uint, uint, uint, uint, int, int, uint, int, [573 x { { ushort }, { ushort } }], [61 x { { ushort }, { ushort } }], [39 x { { ushort }, { ushort } }], { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, { { { ushort }, { ushort } }*, int, { int }* }, [16 x ushort], [573 x int], int, int, [573 x ubyte], ubyte*, uint, uint, ushort*, ulong, ulong, uint, int, ushort, int }*, sbyte* (sbyte*, uint, uint)*, void (sbyte*, sbyte*)*, sbyte*, int, ulong, ulong }* %reg107, long 0, uint 8 ; <sbyte* (sbyte*, uint, uint)**> [#uses=1]
|
||||
%reg137 = load sbyte* (sbyte*, uint, uint)** %reg399 ; <sbyte* (sbyte*, uint, uint)*> [#uses=1]
|
||||
%reg402 = call sbyte* %reg137( sbyte* null, uint 0, uint 0 ) ; <sbyte*> [#uses=1]
|
||||
br bool false, label %bb26, label %UnifiedExitNode
|
||||
|
@ -3,7 +3,7 @@
|
||||
%T = type { [0 x ubyte] }
|
||||
|
||||
void %test(%T* %tmp.22) {
|
||||
%tmp.23 = getelementptr %T* %tmp.22, long 0, ubyte 0
|
||||
%tmp.23 = getelementptr %T* %tmp.22, long 0, uint 0
|
||||
%tmp.24 = cast [0 x ubyte]* %tmp.23 to sbyte**
|
||||
%tmp.25 = load sbyte** %tmp.24
|
||||
ret void
|
||||
|
@ -9,7 +9,7 @@ target pointersize = 64
|
||||
|
||||
implementation ; Functions:
|
||||
bool %Intersection(%struct..istack_struct* %tmp.0, uint %tmp.12) { ; No predecessors!
|
||||
%tmp.8 = getelementptr %struct..istack_struct* %tmp.0, long 0, ubyte 1 ; <%struct..istk_entry**> [#uses=1]
|
||||
%tmp.8 = getelementptr %struct..istack_struct* %tmp.0, long 0, uint 1 ; <%struct..istk_entry**> [#uses=1]
|
||||
%tmp.9 = load %struct..istk_entry** %tmp.8 ; <%struct..istk_entry*> [#uses=1]
|
||||
%dec = sub uint %tmp.12, 1 ; <uint> [#uses=1]
|
||||
%tmp.13 = cast uint %dec to ulong ; <ulong> [#uses=1]
|
||||
|
@ -8,7 +8,7 @@ declare int %llvm.setjmp(int *)
|
||||
|
||||
void %perl_call_sv() {
|
||||
call void %Perl_sv_setpv( )
|
||||
%tmp.335 = getelementptr %struct.jmpenv* null, long 0, ubyte 0
|
||||
%tmp.335 = getelementptr %struct.jmpenv* null, long 0, uint 0
|
||||
%tmp.336 = call int %llvm.setjmp( int* null )
|
||||
store int %tmp.336, int* %tmp.335
|
||||
ret void
|
||||
|
@ -12,13 +12,13 @@ int %test1() {
|
||||
}
|
||||
|
||||
float %test2() {
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, ubyte 1
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 1, uint 1
|
||||
%B = load float* %A
|
||||
ret float %B
|
||||
}
|
||||
|
||||
int %test3() {
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, ubyte 0
|
||||
%A = getelementptr [2 x { int, float}]* %Y, long 0, long 0, uint 0
|
||||
%B = load int* %A
|
||||
ret int %B
|
||||
}
|
||||
|
@ -2,6 +2,6 @@
|
||||
|
||||
void %main() {
|
||||
%E = alloca { { int, float, double, long }, { int, float, double, long } } ; <{ { int, float, double, long }, { int, float, double, long } }*> [#uses=1]
|
||||
%tmp.151 = getelementptr { { int, float, double, long }, { int, float, double, long } }* %E, long 0, ubyte 1, ubyte 3 ; <long*> [#uses=0]
|
||||
%tmp.151 = getelementptr { { int, float, double, long }, { int, float, double, long } }* %E, long 0, uint 1, uint 3 ; <long*> [#uses=0]
|
||||
ret void
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
int %test() {
|
||||
%X = alloca { [ 4 x int] }
|
||||
%Y = getelementptr { [ 4 x int] }* %X, long 0, ubyte 0, long 2
|
||||
%Y = getelementptr { [ 4 x int] }* %X, long 0, uint 0, long 2
|
||||
store int 4, int* %Y
|
||||
%Z = load int* %Y
|
||||
ret int %Z
|
||||
|
@ -6,9 +6,9 @@ declare void %.iter_2(int (sbyte*)*, sbyte*)
|
||||
|
||||
int %main() {
|
||||
%d = alloca { [80 x sbyte], int, uint }
|
||||
%tmp.0 = getelementptr { [80 x sbyte], int, uint }* %d, long 0, ubyte 2
|
||||
%tmp.0 = getelementptr { [80 x sbyte], int, uint }* %d, long 0, uint 2
|
||||
store uint 0, uint* %tmp.0
|
||||
%tmp.1 = getelementptr { [80 x sbyte], int, uint }* %d, long 0, ubyte 0, long 0
|
||||
%tmp.1 = getelementptr { [80 x sbyte], int, uint }* %d, long 0, uint 0, long 0
|
||||
call void %.iter_2( int (sbyte*)* %.callback_1, sbyte* %tmp.1 )
|
||||
ret int 0
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
int %test() {
|
||||
%X = alloca { int, float }
|
||||
%Y = getelementptr {int,float}* %X, long 0, ubyte 0
|
||||
%Y = getelementptr {int,float}* %X, long 0, uint 0
|
||||
store int 0, int* %Y
|
||||
|
||||
%Z = load int* %Y
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
bool %_ZN4llvm11SetCondInst7classofEPKNS_11InstructionE({uint, uint}* %I) {
|
||||
entry:
|
||||
%tmp.1.i = getelementptr {uint, uint}* %I, long 0, ubyte 1
|
||||
%tmp.1.i = getelementptr {uint, uint}* %I, long 0, uint 1
|
||||
%tmp.2.i = load uint* %tmp.1.i
|
||||
%tmp.2 = seteq uint %tmp.2.i, 14
|
||||
br bool %tmp.2, label %shortcirc_done.4, label %shortcirc_next.0
|
||||
|
@ -4,6 +4,6 @@
|
||||
; contained WITHIN a structure.
|
||||
|
||||
void %test({int, int*} * %X) {
|
||||
getelementptr {int, int*} * %X, long 0, ubyte 1, long 0
|
||||
getelementptr {int, int*} * %X, long 0, uint 1, long 0
|
||||
ret void
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user