mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-20 19:25:05 +00:00
Add another important case we miss
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24639 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f20da7e1a7
commit
62c08dd4a1
@ -222,3 +222,22 @@ The two-addr pass or RA needs to learn when it is profitable to commute an
|
||||
instruction to avoid a copy AFTER the 2-addr instruction. The 2-addr pass
|
||||
currently only commutes to avoid inserting a copy BEFORE the two addr instr.
|
||||
|
||||
===-------------------------------------------------------------------------===
|
||||
|
||||
Compile offsets from allocas:
|
||||
|
||||
int *%test() {
|
||||
%X = alloca { int, int }
|
||||
%Y = getelementptr {int,int}* %X, int 0, uint 1
|
||||
ret int* %Y
|
||||
}
|
||||
|
||||
into a single add, not two:
|
||||
|
||||
_test:
|
||||
addi r2, r1, -8
|
||||
addi r3, r2, 4
|
||||
blr
|
||||
|
||||
--> important for C++.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user