projects
/
oota-llvm.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Potential spiller improvement.
[oota-llvm.git]
/
lib
/
CodeGen
/
README.txt
1
Common register allocation / spilling problem:
2
3
mul lr, r4, lr
4
str lr, [sp, #+52]
5
ldr lr, [r1, #+32]
6
sxth r3, r3
7
ldr r4, [sp, #+52]
8
mla r4, r3, lr, r4
9
10
can be:
11
12
mul lr, r4, lr
13
mov r4, lr
14
str lr, [sp, #+52]
15
ldr lr, [r1, #+32]
16
sxth r3, r3
17
mla r4, r3, lr, r4
18
19
and then "merge" mul and mov:
20
21
mul r4, r4, lr
22
str lr, [sp, #+52]
23
ldr lr, [r1, #+32]
24
sxth r3, r3
25
mla r4, r3, lr, r4
26
27
It also increase the likelyhood the store may become dead.