Tim Northover
7c4f7f326e
ARM: don't attempt to merge litpools referencing different PC-anchors.
...
Given something like:
ldr r0, .LCPI0_0 (== pc-rel var)
add r0, pc
ldr r1, .LCPI0_1 (== pc-rel var)
add r1, pc
we cannot combine the 2 ldr instructions and litpools because they get added to
a different pc to form the correct address. I think the original logic came
from a time when we fused the LDRpci/PICADD instructions into one
pseudo-instruction so the PC was always immediately at-hand. That's no longer
the case.
Should fix general-dynamic TLS access on Linux, and quite possibly other -fPIC
code that relies on litpools (e.g. v6m and -Oz compilations) though trivial
tweaks of the .ll test didn't provoke anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268662 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05 18:38:53 +00:00
..
2016-04-24 20:12:48 +00:00
2015-11-19 05:56:52 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-11 03:22:04 +00:00
2016-04-15 15:57:41 +00:00
2015-09-30 10:56:37 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2015-11-19 05:56:52 +00:00
2016-04-15 15:57:41 +00:00
2015-09-30 10:56:37 +00:00
2016-03-29 00:23:41 +00:00
2015-11-19 05:56:52 +00:00
2015-11-19 05:56:52 +00:00
2015-09-30 10:56:37 +00:00
2015-11-19 05:56:52 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-06 05:42:13 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-11 03:22:04 +00:00
2016-01-26 00:03:25 +00:00
2015-10-30 16:29:44 +00:00
2015-11-09 12:40:30 +00:00
2015-12-09 01:19:50 +00:00
2015-12-15 03:28:11 +00:00
2016-04-15 15:57:41 +00:00
2016-03-21 18:00:02 +00:00
2015-09-22 17:22:58 +00:00
2015-09-26 00:14:02 +00:00
2016-02-22 20:55:50 +00:00
2016-03-21 18:00:02 +00:00
2015-11-16 10:49:25 +00:00
2016-01-08 18:43:41 +00:00
2016-01-25 11:26:11 +00:00
2015-12-07 14:22:39 +00:00
2015-12-07 14:22:39 +00:00
2015-12-07 14:22:39 +00:00
2015-12-07 14:22:39 +00:00
2015-12-07 14:22:39 +00:00
2016-03-21 17:29:01 +00:00
2016-01-26 00:03:25 +00:00
2015-11-18 00:40:54 +00:00
2016-01-28 18:59:04 +00:00
2015-10-28 22:56:36 +00:00
2016-02-22 20:55:50 +00:00
2016-04-27 20:32:54 +00:00
2016-02-22 20:55:50 +00:00
2016-04-15 15:57:41 +00:00
2015-09-30 10:56:37 +00:00
2016-04-05 14:06:20 +00:00
2015-12-04 01:53:14 +00:00
2015-12-08 02:37:48 +00:00
2015-11-19 05:56:52 +00:00
2016-01-15 21:56:40 +00:00
2016-04-19 23:51:52 +00:00
2016-03-21 11:43:46 +00:00
2015-09-30 10:56:37 +00:00
2016-04-25 21:12:04 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-04-15 15:57:41 +00:00
2016-01-29 10:23:32 +00:00
2016-03-04 19:19:36 +00:00
2015-11-19 05:56:52 +00:00
2016-01-27 19:32:29 +00:00
2016-01-26 00:03:25 +00:00
2016-01-26 00:03:25 +00:00
2016-01-26 00:03:25 +00:00
2016-01-13 23:56:37 +00:00
2016-01-13 00:03:35 +00:00
2015-09-18 20:08:18 +00:00
2015-11-19 05:56:52 +00:00
2015-10-26 20:49:49 +00:00
2016-01-15 10:26:17 +00:00
2015-11-18 00:40:54 +00:00
2016-01-08 17:46:05 +00:00
2015-11-09 11:03:18 +00:00
2016-04-19 23:51:52 +00:00
2016-01-14 19:45:36 +00:00
2015-08-29 11:50:08 +00:00
2016-01-26 00:03:25 +00:00
2016-02-17 16:35:18 +00:00
2015-09-18 18:19:40 +00:00
2015-11-18 00:40:54 +00:00
2015-11-18 00:40:54 +00:00
2015-11-18 00:40:54 +00:00
2015-12-01 05:29:22 +00:00
2015-12-01 05:29:22 +00:00
2015-12-01 05:29:22 +00:00
2016-01-08 00:34:44 +00:00
2016-01-08 00:34:44 +00:00
2016-04-08 18:15:37 +00:00
2016-04-08 18:15:37 +00:00
2016-04-25 14:29:18 +00:00
2016-04-26 03:43:49 +00:00
2016-04-11 22:27:40 +00:00
2016-04-13 03:08:27 +00:00
2016-04-12 23:21:53 +00:00
2015-09-01 01:42:16 +00:00
2015-10-05 14:49:54 +00:00
2016-02-17 16:35:18 +00:00
2016-03-02 19:20:00 +00:00
2016-01-15 10:26:51 +00:00
2015-09-03 16:49:18 +00:00
2016-05-05 18:38:53 +00:00
2015-10-26 18:23:16 +00:00
2015-10-05 14:49:54 +00:00
2016-04-13 23:08:27 +00:00
2015-11-19 05:56:52 +00:00
2015-11-19 05:56:52 +00:00
2015-10-05 14:49:54 +00:00
2016-01-26 00:03:25 +00:00
2015-11-19 05:56:52 +00:00
2016-01-15 10:25:14 +00:00
2015-09-30 10:56:37 +00:00
2015-11-17 13:21:35 +00:00
2016-04-11 22:27:40 +00:00
2015-09-30 10:56:37 +00:00
2016-04-22 20:40:10 +00:00
2016-03-31 19:42:04 +00:00
2015-10-26 10:04:52 +00:00
2015-12-17 01:29:08 +00:00
2016-02-19 03:13:40 +00:00
2016-01-26 00:03:25 +00:00
2015-11-13 16:05:22 +00:00
2015-09-30 10:56:37 +00:00
2016-03-03 22:38:39 +00:00
2015-10-27 10:25:20 +00:00
2015-12-20 06:41:44 +00:00
2016-01-29 19:18:46 +00:00
2016-04-05 14:06:20 +00:00
2016-01-27 19:32:29 +00:00
2016-04-08 19:49:03 +00:00
2015-08-29 10:49:11 +00:00
2016-01-25 11:25:36 +00:00
2016-01-25 11:25:36 +00:00
2015-09-30 10:56:37 +00:00
2015-12-20 06:41:44 +00:00
2015-12-20 06:41:44 +00:00
2015-11-19 05:56:52 +00:00
2016-04-13 23:08:27 +00:00
2016-04-08 18:15:37 +00:00
2015-11-19 05:56:52 +00:00
2016-04-05 22:44:44 +00:00
2016-04-05 22:44:44 +00:00
2016-03-02 19:20:00 +00:00
2016-04-11 21:08:06 +00:00
2016-04-13 21:43:25 +00:00
2016-03-22 19:14:38 +00:00
2015-12-01 05:29:22 +00:00
2015-12-15 10:10:40 +00:00
2015-09-18 18:19:40 +00:00
2016-04-19 20:51:05 +00:00
2015-11-30 20:37:58 +00:00
2016-02-19 00:18:46 +00:00
2016-04-08 18:15:37 +00:00
2015-08-31 21:10:35 +00:00
2016-01-26 00:03:25 +00:00
2016-01-26 00:03:25 +00:00
2016-01-26 00:03:25 +00:00
2016-01-29 10:23:32 +00:00
2016-02-17 16:35:18 +00:00
2015-10-26 21:32:53 +00:00
2015-12-20 06:41:44 +00:00
2015-12-20 06:41:44 +00:00
2015-10-28 22:56:36 +00:00
2015-10-28 22:51:16 +00:00
2015-10-28 22:51:16 +00:00
2015-09-30 10:56:37 +00:00
2016-04-26 05:04:37 +00:00
2015-09-24 08:36:14 +00:00
2016-03-17 20:10:28 +00:00
2016-03-17 20:10:28 +00:00
2015-09-01 21:56:00 +00:00
2015-09-30 10:56:37 +00:00
2015-09-01 11:12:35 +00:00
2015-10-28 22:56:36 +00:00
2016-04-15 15:57:41 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2016-04-14 07:13:24 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-01 11:12:35 +00:00
2015-11-17 17:25:15 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-30 10:56:37 +00:00
2015-09-24 08:36:14 +00:00
2015-09-24 08:36:14 +00:00
2015-09-24 08:36:14 +00:00
2016-04-19 19:40:37 +00:00
2016-03-21 18:00:02 +00:00
2016-04-19 23:51:52 +00:00