summary refs log tree commit diff
path: root/test/ldhoist.ssa
blob: d4b1b64b77c921564c931642673a0cbac96f2635 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# loads must not be unsafely hoisted

export
function w $f(w %n, l %p) {
@start
	%r =w copy 0
@loop
	%n =w sub %n, 1
	%c =w csgew %n, 0
	jnz %c, @loop1, @end
@loop1
	%r =w loadw %p
	jmp @loop
@end
	ret %r
}

# >>> driver
# extern int f(int, int *);
# int main() { return f(0, 0); }
# <<<