diff options
author | Chad Rosier <mcrosier@apple.com> | 2011-11-17 07:15:58 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2011-11-17 07:15:58 +0000 |
commit | f83ab704e4edf49689b0ad02bedb62fabfef136f (patch) | |
tree | 20604a8a22806828f17ed9d5d0014a22c138a56b /clang/test/Frontend/dependency-gen.c | |
parent | f17b60057729c00f7d46ac233ae3a64c79902639 (diff) | |
download | bcm5719-llvm-f83ab704e4edf49689b0ad02bedb62fabfef136f.tar.gz bcm5719-llvm-f83ab704e4edf49689b0ad02bedb62fabfef136f.zip |
When fast iseling a GEP, accumulate the offset rather than emitting a series of
ADDs. MaxOffs is used as a threshold to limit the size of the offset. Tradeoffs
being: (1) If we can't materialize the large constant then we'll cause fast-isel
to bail. (2) Too large of an offset can't be directly encoded in the ADD
resulting in a MOV+ADD. Generally not a bad thing because otherwise we would
have had ADD+ADD, but on Thumb this turns into a MOVS+MOVT+ADD. Working on a fix
for that. (3) Conversely, too low of a threshold we'll miss opportunities to
coalesce ADDs.
rdar://10412592
llvm-svn: 144886
Diffstat (limited to 'clang/test/Frontend/dependency-gen.c')
0 files changed, 0 insertions, 0 deletions