Ulrich Weigand
bebd59c74b
[SystemZ] Support all TLS access models - CodeGen part
...
The current SystemZ back-end only supports the local-exec TLS access model.
This patch adds all required CodeGen support for the other TLS models, which
means in particular:
- Expand initial-exec TLS accesses by loading TLS offsets from the GOT
using @indntpoff relocations.
- Expand general-dynamic and local-dynamic accesses by generating the
appropriate calls to __tls_get_offset. Note that this routine has
a non-standard ABI and requires loading the GOT pointer into %r12,
so the patch also adds support for the GLOBAL_OFFSET_TABLE ISD node.
- Add a new platform-specific optimization pass to remove redundant
__tls_get_offset calls in the local-dynamic model (modeled after
the corresponding X86 pass).
- Add test cases verifying all access models and optimizations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229654 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-18 09:13:27 +00:00
..
2014-06-09 22:42:55 +00:00
2013-07-31 11:36:35 +00:00
2013-07-31 11:36:35 +00:00
2013-07-14 06:24:09 +00:00
2014-12-15 19:07:53 +00:00
2013-07-31 11:36:35 +00:00
2013-08-23 11:18:53 +00:00
2013-07-19 16:21:55 +00:00
2013-07-31 11:36:35 +00:00
2013-07-19 16:24:22 +00:00
2013-07-31 11:36:35 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:24:22 +00:00
2014-12-15 19:07:53 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-16 09:03:10 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-12-24 15:18:04 +00:00
2013-12-24 15:18:04 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-12-24 15:18:04 +00:00
2013-12-24 15:18:04 +00:00
2013-09-18 09:56:40 +00:00
2013-09-18 09:56:40 +00:00
2013-10-31 12:14:17 +00:00
2013-10-31 12:14:17 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-12-24 15:18:04 +00:00
2013-12-24 15:18:04 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-12-24 15:18:04 +00:00
2013-12-24 15:18:04 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-12-24 15:18:04 +00:00
2013-12-24 15:18:04 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-18 09:56:40 +00:00
2013-09-06 11:51:39 +00:00
2013-10-16 11:10:55 +00:00
2013-09-18 09:56:40 +00:00
2013-09-18 09:56:40 +00:00
2013-09-18 09:56:40 +00:00
2013-07-14 06:24:09 +00:00
2013-10-28 13:53:37 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-19 12:42:31 +00:00
2014-06-13 14:24:07 +00:00
2014-06-13 14:24:07 +00:00
2014-06-13 14:24:07 +00:00
2014-06-13 14:24:07 +00:00
2013-07-31 12:38:08 +00:00
2013-07-31 12:38:08 +00:00
2013-07-31 12:30:20 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-12-10 10:49:34 +00:00
2013-09-18 09:56:40 +00:00
2013-09-18 09:56:40 +00:00
2013-07-31 12:30:20 +00:00
2013-07-31 12:30:20 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-31 12:14:17 +00:00
2013-10-31 12:14:17 +00:00
2013-10-31 12:14:17 +00:00
2015-01-13 19:45:16 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2014-03-21 10:56:30 +00:00
2013-07-14 06:24:09 +00:00
2014-03-21 10:56:30 +00:00
2013-07-14 06:24:09 +00:00
2014-03-21 10:56:30 +00:00
2013-07-14 06:24:09 +00:00
2014-03-21 10:56:30 +00:00
2014-03-21 10:56:30 +00:00
2014-03-21 10:56:30 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-31 12:14:17 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-01 14:33:55 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-21 09:04:20 +00:00
2013-08-21 09:04:20 +00:00
2013-08-23 10:27:02 +00:00
2013-08-23 10:27:02 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2014-01-24 17:20:08 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2014-01-13 15:44:44 +00:00
2013-12-10 10:36:34 +00:00
2013-12-10 10:36:34 +00:00
2013-10-31 12:14:17 +00:00
2013-10-31 12:14:17 +00:00
2013-07-14 06:24:09 +00:00
2013-10-31 12:14:17 +00:00
2013-07-31 11:36:35 +00:00
2013-07-31 11:36:35 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-12-11 11:37:27 +00:00
2013-12-13 15:35:00 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:26:39 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:26:39 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:37:00 +00:00
2013-10-28 13:53:37 +00:00
2013-10-28 13:53:37 +00:00
2013-10-31 12:14:17 +00:00
2013-10-15 08:42:59 +00:00
2013-07-19 16:26:39 +00:00
2013-07-19 16:32:12 +00:00
2013-07-19 16:32:12 +00:00
2013-07-19 16:44:32 +00:00
2013-08-23 11:27:19 +00:00
2013-08-23 11:27:19 +00:00
2013-09-18 09:56:40 +00:00
2013-08-23 11:27:19 +00:00
2013-12-06 09:56:50 +00:00
2013-12-06 09:56:50 +00:00
2013-08-23 11:27:19 +00:00
2013-09-18 09:56:40 +00:00
2013-08-01 10:29:45 +00:00
2013-09-18 09:56:40 +00:00
2013-08-01 10:29:45 +00:00
2013-09-18 09:56:40 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-18 09:56:40 +00:00
2013-07-14 06:24:09 +00:00
2013-08-01 10:29:45 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-01 10:29:45 +00:00
2013-07-14 06:24:09 +00:00
2013-08-01 10:29:45 +00:00
2013-07-14 06:24:09 +00:00
2013-08-23 11:27:19 +00:00
2013-09-18 09:56:40 +00:00
2013-08-23 11:27:19 +00:00
2013-08-23 11:27:19 +00:00
2013-09-18 09:56:40 +00:00
2013-08-23 11:27:19 +00:00
2013-08-23 11:27:19 +00:00
2013-08-23 11:27:19 +00:00
2015-01-13 19:45:16 +00:00
2015-01-13 19:45:16 +00:00
2013-09-13 09:09:50 +00:00
2013-12-13 15:46:55 +00:00
2013-09-10 10:20:32 +00:00
2013-11-22 17:28:28 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-23 11:18:53 +00:00
2013-08-23 11:18:53 +00:00
2013-08-23 11:18:53 +00:00
2013-08-23 11:18:53 +00:00
2013-07-14 06:24:09 +00:00
2013-10-31 12:14:17 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-10-31 12:14:17 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-08-19 12:42:31 +00:00
2013-08-19 12:42:31 +00:00
2013-10-01 12:49:07 +00:00
2013-12-18 23:04:37 +00:00
2013-07-14 06:24:09 +00:00
2013-12-18 23:04:37 +00:00
2013-12-18 23:04:37 +00:00
2013-07-14 06:24:09 +00:00
2013-08-21 09:34:56 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-09-27 15:14:04 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-12-18 23:04:37 +00:00
2013-07-14 06:24:09 +00:00
2013-12-13 15:35:00 +00:00
2013-07-19 16:26:39 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:26:39 +00:00
2013-07-19 16:37:00 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:26:39 +00:00
2013-07-19 16:37:00 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2014-06-09 22:42:55 +00:00
2013-08-05 11:23:46 +00:00
2014-02-13 14:44:26 +00:00
2013-08-20 09:38:48 +00:00
2015-01-13 19:45:16 +00:00
2013-08-28 09:01:51 +00:00
2013-08-28 09:01:51 +00:00
2013-08-27 09:54:29 +00:00
2014-12-15 19:07:53 +00:00
2013-08-27 09:54:29 +00:00
2013-08-27 09:54:29 +00:00
2013-09-06 10:25:07 +00:00
2013-08-27 09:54:29 +00:00
2013-07-19 16:21:55 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:24:22 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:24:22 +00:00
2013-09-05 10:36:45 +00:00
2013-08-23 11:36:42 +00:00
2014-01-13 15:40:25 +00:00
2013-07-16 11:55:57 +00:00
2014-01-09 11:28:53 +00:00
2014-01-09 11:28:53 +00:00
2014-01-09 11:28:53 +00:00
2013-12-06 09:53:09 +00:00
2013-12-06 09:53:09 +00:00
2013-12-06 09:53:09 +00:00
2013-12-10 10:36:34 +00:00
2013-10-31 12:14:17 +00:00
2013-10-31 12:14:17 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2014-01-09 10:56:42 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:12:08 +00:00
2014-01-13 15:17:53 +00:00
2013-12-10 10:36:34 +00:00
2013-08-16 11:21:54 +00:00
2013-08-16 11:21:54 +00:00
2013-08-16 11:29:37 +00:00
2013-08-16 11:41:43 +00:00
2013-08-16 11:41:43 +00:00
2015-02-18 09:13:27 +00:00
2015-02-18 09:13:27 +00:00
2015-02-18 09:13:27 +00:00
2015-02-18 09:13:27 +00:00
2015-02-18 09:13:27 +00:00
2015-02-18 09:13:27 +00:00
2015-02-18 09:13:27 +00:00
2013-10-28 13:53:37 +00:00
2013-07-19 16:21:55 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:24:22 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-14 06:24:09 +00:00
2013-07-19 16:24:22 +00:00
2013-09-05 10:36:45 +00:00