mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-26 07:29:55 +00:00
expand note.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90429 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
053321731c
commit
89742c2c3f
@ -1734,5 +1734,20 @@ if.end:
|
||||
And functionattrs doesn't realize that the p.0 load points to function local
|
||||
memory.
|
||||
|
||||
Also, functionattrs doesn't know about memcpy/memset. This function should be
|
||||
marked readnone, since it only twiddles local memory, but functionattrs doesn't
|
||||
handle memset/memcpy/memmove aggressively:
|
||||
|
||||
struct X { int *p; int *q; };
|
||||
int foo() {
|
||||
int i = 0, j = 1;
|
||||
struct X x, y;
|
||||
int **p;
|
||||
y.p = &i;
|
||||
x.q = &j;
|
||||
p = __builtin_memcpy (&x, &y, sizeof (int *));
|
||||
return **p;
|
||||
}
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user