David Majnemer
92d1637e2f
X86, Win64: Allow 'mov' to restore the stack pointer if we have a FP
...
The Win64 epilogue structure is very restrictive, it permits a very
small number of opcodes and none of them are 'mov'.
This means that given:
mov %rbp, %rsp
pop %rbp
The mov isn't the epilogue, only the pop is. This is problematic unless
a frame pointer is present in which case we are free to do whatever we'd
like in the "body" of the function. If a frame pointer is present,
unwinding will undo the prologue operations in reverse order regardless
of the fact that we are at an instruction which is reseting the stack
pointer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230543 91177308-0d34-0410-b5e6-96231b3b80d8
2015-02-25 21:13:37 +00:00
..
2015-02-12 22:45:25 +00:00
2015-02-16 21:50:56 +00:00
2015-02-15 06:20:51 +00:00
2015-02-25 20:02:59 +00:00
2015-02-19 12:10:37 +00:00
2015-02-18 06:24:44 +00:00
2015-02-18 06:24:44 +00:00
2015-02-12 08:40:34 +00:00
2015-02-12 08:40:34 +00:00
2015-02-17 09:20:12 +00:00
2015-02-20 00:45:28 +00:00
2015-02-23 15:12:31 +00:00
2015-02-23 15:12:31 +00:00
2015-02-18 06:24:44 +00:00
2015-02-18 06:24:44 +00:00
2015-02-16 01:52:02 +00:00
2015-02-23 20:57:46 +00:00
2015-02-20 03:05:47 +00:00
2015-02-07 08:26:40 +00:00
2015-02-04 00:58:37 +00:00
2015-02-16 21:50:56 +00:00
2015-02-14 22:40:46 +00:00
2015-02-10 02:25:56 +00:00
2015-02-14 15:11:48 +00:00
2015-02-24 20:49:35 +00:00
2015-02-24 20:49:35 +00:00
2015-02-23 20:04:51 +00:00
2015-02-07 08:26:40 +00:00
2015-02-07 08:26:40 +00:00
2015-02-20 02:15:36 +00:00
2015-02-20 19:37:14 +00:00
2015-02-20 19:37:14 +00:00
2015-02-17 12:25:49 +00:00
2015-02-17 23:40:58 +00:00
2015-02-23 22:59:02 +00:00
2015-02-17 00:11:19 +00:00
2015-02-19 16:59:11 +00:00
2015-02-12 06:15:29 +00:00
2015-02-23 21:50:27 +00:00
2015-02-10 21:22:05 +00:00
2015-02-20 02:15:36 +00:00
2015-02-20 02:15:36 +00:00
2015-02-25 00:52:15 +00:00
2015-02-17 23:34:51 +00:00
2015-02-10 15:30:02 +00:00
2015-02-17 21:59:54 +00:00
2015-02-04 00:58:40 +00:00
2015-02-16 01:52:02 +00:00
2015-02-20 03:05:47 +00:00
2015-02-20 02:44:13 +00:00
2015-02-25 15:14:02 +00:00
2015-02-12 14:17:35 +00:00
2015-02-17 20:50:39 +00:00
2015-02-17 02:12:24 +00:00
2015-02-16 12:28:18 +00:00
2015-02-04 18:54:01 +00:00
2015-02-12 23:26:26 +00:00
2015-02-05 23:52:12 +00:00
2015-02-05 18:09:05 +00:00
2015-02-18 06:24:44 +00:00
2015-02-18 06:24:44 +00:00
2015-02-16 12:28:18 +00:00
2015-02-20 03:05:47 +00:00
2015-02-20 03:05:47 +00:00
2015-02-13 21:52:42 +00:00
2015-02-04 00:24:06 +00:00
2015-02-17 20:08:21 +00:00
2015-02-07 16:14:55 +00:00
2015-02-07 16:14:55 +00:00
2015-02-14 14:10:44 +00:00
2015-02-12 22:47:45 +00:00
2015-02-14 14:10:44 +00:00
2015-02-13 07:42:25 +00:00
2015-02-16 01:52:02 +00:00
2015-02-04 10:58:53 +00:00
2015-02-19 12:10:37 +00:00
2015-02-25 15:14:02 +00:00
2015-02-11 15:00:41 +00:00
2015-02-11 15:00:19 +00:00
2015-02-15 12:18:12 +00:00
2015-02-11 14:58:25 +00:00
2015-02-20 03:05:47 +00:00
2015-02-09 17:17:09 +00:00
2015-02-16 12:28:18 +00:00
2015-02-05 18:31:02 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-20 03:59:35 +00:00
2015-02-19 15:21:57 +00:00
2015-02-24 22:08:56 +00:00
2015-02-09 17:17:09 +00:00
2015-02-04 10:58:53 +00:00
2015-02-18 09:43:40 +00:00
2015-02-19 10:46:52 +00:00
2015-02-08 21:14:27 +00:00
2015-02-15 06:20:51 +00:00
2015-02-08 21:10:40 +00:00
2015-02-16 21:50:56 +00:00
2015-02-19 15:21:57 +00:00
2015-02-23 21:50:30 +00:00
2015-02-25 21:13:37 +00:00
2015-02-23 21:50:27 +00:00
2015-02-08 20:50:58 +00:00
2015-02-08 20:05:53 +00:00
2015-02-24 15:27:13 +00:00
2015-02-08 20:01:12 +00:00
2015-02-08 19:50:55 +00:00
2015-02-13 07:42:25 +00:00
2015-02-08 19:38:25 +00:00