mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 00:32:23 +00:00
27 lines
495 B
Plaintext
27 lines
495 B
Plaintext
|
; RUN: llvm-as < %s | opt -globalopt | llvm-dis | not grep malloc
|
||
|
|
||
|
%G = internal global int* null
|
||
|
|
||
|
void %init() {
|
||
|
%P = malloc int, uint 100
|
||
|
store int* %P, int** %G
|
||
|
|
||
|
%GV = load int** %G
|
||
|
%GVe = getelementptr int* %GV, int 40
|
||
|
store int 20, int* %GVe
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
int %get() {
|
||
|
%GV = load int** %G
|
||
|
%GVe = getelementptr int* %GV, int 40
|
||
|
%V = load int* %GVe
|
||
|
ret int %V
|
||
|
}
|
||
|
|
||
|
bool %check() { ;; Return true if init has been called
|
||
|
%GV = load int** %G
|
||
|
%V = seteq int* %GV, null
|
||
|
ret bool %V
|
||
|
}
|