diff options
| author | Asiri Rathnayake <asiri.rathnayake@arm.com> | 2016-07-07 10:55:39 +0000 |
|---|---|---|
| committer | Asiri Rathnayake <asiri.rathnayake@arm.com> | 2016-07-07 10:55:39 +0000 |
| commit | f33c3423ec8e9dc319e464675804399a605409ed (patch) | |
| tree | c98e74eefed02c49e018e656dc2934bc3cbcd6f0 /libunwind/include | |
| parent | 130802b33974b3c3cb85140f4f92128f2bfe65eb (diff) | |
| download | bcm5719-llvm-f33c3423ec8e9dc319e464675804399a605409ed.tar.gz bcm5719-llvm-f33c3423ec8e9dc319e464675804399a605409ed.zip | |
[libunwind][ARM] Improve unwinder stack usage - Make WMMX support optional
These registers are only available on a limited set of ARM targets (those
based on XScale). Other targets should not have to pay the cost of these.
This patch shaves off about ~300 bytes of stack usage and ~1KB of code-size.
Differential revision: http://reviews.llvm.org/D21991
Reviewers: bcraig, compnerd
Change-Id: I2d7a1911a193bd70b123e78747e1a7d1482463c7
llvm-svn: 274744
Diffstat (limited to 'libunwind/include')
| -rw-r--r-- | libunwind/include/__libunwind_config.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libunwind/include/__libunwind_config.h b/libunwind/include/__libunwind_config.h index 099d133e744..65e6eb5c930 100644 --- a/libunwind/include/__libunwind_config.h +++ b/libunwind/include/__libunwind_config.h @@ -36,8 +36,13 @@ # define _LIBUNWIND_CURSOR_SIZE 78 # elif defined(__arm__) # define _LIBUNWIND_TARGET_ARM 1 -# define _LIBUNWIND_CONTEXT_SIZE 60 -# define _LIBUNWIND_CURSOR_SIZE 67 +# if defined(__ARM_WMMX) +# define _LIBUNWIND_CONTEXT_SIZE 60 +# define _LIBUNWIND_CURSOR_SIZE 67 +# else +# define _LIBUNWIND_CONTEXT_SIZE 42 +# define _LIBUNWIND_CURSOR_SIZE 49 +# endif # elif defined(__or1k__) # define _LIBUNWIND_TARGET_OR1K 1 # define _LIBUNWIND_CONTEXT_SIZE 16 |

