Shuxin Yang
970755e519
This patch is to fix radar://8426430. It is about llvm support of __builtin_debugtrap()
...
which is supposed to consistently raise SIGTRAP across all systems. In contrast,
__builtin_trap() behave differently on different systems. e.g. it raises SIGTRAP on ARM, and
SIGILL on X86. The purpose of __builtin_debugtrap() is to consistently provide "trap"
functionality, in the mean time preserve the compatibility with on gcc on __builtin_trap().
The X86 backend is already able to handle debugtrap(). This patch is to:
1) make front-end recognize "__builtin_debugtrap()" (emboddied in the one-line change to Clang).
2) In DAG legalization phase, by default, "debugtrap" will be replaced with "trap", which
make the __builtin_debugtrap() "available" to all existing ports without the hassle of
changing their code.
3) If trap-function is specified (via -trap-func=xyz to llc), both __builtin_debugtrap() and
__builtin_trap() will be expanded into the function call of the specified trap function.
This behavior may need change in the future.
The provided testing-case is to make sure 2) and 3) are working for ARM port, and we
already have a testing case for x86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166300 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-19 20:11:16 +00:00
..
2012-07-02 18:37:59 +00:00
2012-07-02 19:09:46 +00:00
2012-07-02 19:09:46 +00:00
2012-06-08 23:15:12 +00:00
2012-06-08 23:15:12 +00:00
2012-07-02 12:47:22 +00:00
2012-06-08 23:15:12 +00:00
2012-09-29 21:43:49 +00:00
2012-08-15 21:10:18 +00:00
2012-04-16 13:49:17 +00:00
2012-10-12 23:39:43 +00:00
2012-09-18 01:42:45 +00:00
2012-09-18 01:42:45 +00:00
2012-07-02 18:37:59 +00:00
2012-06-15 17:46:54 +00:00
2012-04-09 20:32:02 +00:00
2012-03-26 23:31:00 +00:00
2012-04-02 19:58:43 +00:00
2012-04-10 13:22:49 +00:00
2012-04-24 19:06:55 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-05-30 00:42:39 +00:00
2012-06-13 02:39:03 +00:00
2012-08-04 13:16:12 +00:00
2012-08-09 01:56:44 +00:00
2012-08-13 10:38:45 +00:00
2012-08-13 18:52:44 +00:00
2012-08-27 22:12:44 +00:00
2012-09-02 12:10:19 +00:00
2012-09-18 21:24:16 +00:00
2012-09-26 06:16:18 +00:00
2012-09-26 04:04:19 +00:00
2012-10-16 07:16:47 +00:00
2012-10-10 11:37:36 +00:00
2012-10-16 07:16:47 +00:00
2012-10-19 08:23:06 +00:00
2012-09-17 14:10:54 +00:00
2012-09-13 15:05:10 +00:00
2012-07-02 18:37:59 +00:00
2012-07-02 12:47:22 +00:00
2012-08-13 18:18:52 +00:00
2012-08-31 02:08:34 +00:00
2012-09-26 10:12:20 +00:00
2012-09-29 21:43:49 +00:00
2012-06-18 14:51:32 +00:00
2012-07-02 19:09:46 +00:00
2012-09-29 21:43:49 +00:00
2012-04-10 03:15:42 +00:00
2012-06-11 08:07:26 +00:00
2012-10-16 22:51:55 +00:00
2012-04-05 03:10:56 +00:00
2012-09-12 11:25:02 +00:00
2012-07-31 02:47:24 +00:00
2012-09-10 14:01:21 +00:00
2012-07-02 12:47:22 +00:00
2012-04-05 10:01:12 +00:00
2012-10-04 21:33:24 +00:00
2012-05-18 19:12:01 +00:00
2012-08-14 05:19:07 +00:00
2012-10-03 08:29:36 +00:00
2012-09-29 21:43:49 +00:00
2012-10-12 01:15:47 +00:00
2012-09-29 21:27:31 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-04-10 18:18:10 +00:00
2012-05-11 18:51:55 +00:00
2012-08-16 05:15:53 +00:00
2012-05-30 17:23:22 +00:00
2012-06-12 19:25:13 +00:00
2012-09-27 05:21:41 +00:00
2012-08-03 02:37:48 +00:00
2012-09-21 16:58:35 +00:00
2012-08-03 23:29:17 +00:00
2012-09-29 21:43:49 +00:00
2012-08-14 00:56:06 +00:00
2012-09-29 21:43:49 +00:00
2012-08-14 23:36:01 +00:00
2012-09-29 21:43:49 +00:00
2012-09-01 06:04:27 +00:00
2012-08-08 20:31:37 +00:00
2012-09-29 21:43:49 +00:00
2012-06-24 00:05:44 +00:00
2012-06-15 21:32:12 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-09-06 09:16:01 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-06-08 23:15:12 +00:00
2012-03-25 09:02:19 +00:00
2012-09-04 14:37:49 +00:00
2012-04-06 17:45:04 +00:00
2012-07-02 12:47:22 +00:00
2012-04-04 18:23:42 +00:00
2012-09-29 21:43:49 +00:00
2012-05-20 06:38:42 +00:00
2012-06-22 02:50:31 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-09-29 21:43:49 +00:00
2012-07-01 17:08:01 +00:00
2012-04-02 22:30:39 +00:00
2012-09-27 21:06:02 +00:00
2012-09-05 23:58:02 +00:00
2012-04-04 18:23:42 +00:00
2012-09-05 23:58:02 +00:00
2012-05-17 13:12:13 +00:00
2012-06-11 21:14:28 +00:00
2012-07-02 12:47:22 +00:00
2012-10-12 23:39:43 +00:00
2012-09-10 19:17:25 +00:00
2012-09-18 21:24:16 +00:00
2012-09-29 21:43:49 +00:00
2012-04-16 13:49:17 +00:00
2012-07-02 12:47:22 +00:00
2012-06-15 21:32:12 +00:00
2012-07-02 12:47:22 +00:00
2012-07-02 12:47:22 +00:00
2012-06-23 11:37:03 +00:00
2012-10-19 20:11:16 +00:00
2012-09-20 21:35:21 +00:00
2012-09-18 01:42:45 +00:00
2012-09-18 01:42:45 +00:00
2012-05-07 20:51:25 +00:00
2012-09-20 21:35:21 +00:00
2012-10-15 21:23:40 +00:00
2012-07-18 00:02:16 +00:00
2012-04-07 20:04:00 +00:00
2012-10-15 09:41:32 +00:00
2012-09-05 08:57:21 +00:00
2012-08-08 20:31:37 +00:00
2012-09-06 09:16:01 +00:00
2012-05-27 19:35:41 +00:00
2012-04-30 16:53:34 +00:00
2012-04-09 20:32:02 +00:00
2012-10-12 22:59:21 +00:00
2012-05-11 19:40:25 +00:00
2012-04-16 20:49:06 +00:00