aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectProcess.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-11-17 07:15:58 +0000
committerChad Rosier <mcrosier@apple.com>2011-11-17 07:15:58 +0000
commitf83ab704e4edf49689b0ad02bedb62fabfef136f (patch)
tree20604a8a22806828f17ed9d5d0014a22c138a56b /lldb/source/Commands/CommandObjectProcess.cpp
parentf17b60057729c00f7d46ac233ae3a64c79902639 (diff)
downloadllvm-f83ab704e4edf49689b0ad02bedb62fabfef136f.zip
llvm-f83ab704e4edf49689b0ad02bedb62fabfef136f.tar.gz
llvm-f83ab704e4edf49689b0ad02bedb62fabfef136f.tar.bz2
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 'lldb/source/Commands/CommandObjectProcess.cpp')
0 files changed, 0 insertions, 0 deletions