mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-10 02:36:06 +00:00
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45377 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
650d5053bf
commit
166a268656
@ -463,4 +463,23 @@ entry:
|
||||
ret int %tmp3
|
||||
}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
"basicaa" should know how to look through "or" instructions that act like add
|
||||
instructions. For example in this code, the x*4+1 is turned into x*4 | 1, and
|
||||
basicaa can't analyze the array subscript, leading to duplicated loads in the
|
||||
generated code:
|
||||
|
||||
void test(int X, int Y, int a[]) {
|
||||
int i;
|
||||
for (i=2; i<1000; i+=4) {
|
||||
a[i+0] = a[i-1+0]*a[i-2+0];
|
||||
a[i+1] = a[i-1+1]*a[i-2+1];
|
||||
a[i+2] = a[i-1+2]*a[i-2+2];
|
||||
a[i+3] = a[i-1+3]*a[i-2+3];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
Loading…
x
Reference in New Issue
Block a user