summaryrefslogtreecommitdiffstats
path: root/libunwind/include
diff options
context:
space:
mode:
authorAsiri Rathnayake <asiri.rathnayake@arm.com>2016-07-07 10:55:39 +0000
committerAsiri Rathnayake <asiri.rathnayake@arm.com>2016-07-07 10:55:39 +0000
commitf33c3423ec8e9dc319e464675804399a605409ed (patch)
treec98e74eefed02c49e018e656dc2934bc3cbcd6f0 /libunwind/include
parent130802b33974b3c3cb85140f4f92128f2bfe65eb (diff)
downloadbcm5719-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.h9
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
OpenPOWER on IntegriCloud