Sergei Barannikov
8c56dd3040
[ARM] Stop gluing FP comparisons to FMSTAT ( #116676 )
...
Following #116547 , this changes the result of `ARMISD::CMPFP*` and the
operand of `ARMISD::FMSTAT` from a special `Glue` type to a normal type.
This change allows comparisons to be CSEd and scheduled around as can be
seen in the test changes.
Note that `ARMISD::FMSTAT` is still glued to its consumer nodes; this is
going to be changed in a separate patch.
This patch also sets `CopyCost` of `cl_FPSCR_NZCV` register class to a
negative value. The reason is the same as for CCR register class: it
makes DAG scheduler and InstrEmitter try to avoid copies of `FPCSR_NZCV`
register to / from virtual registers. Previously, this was not
necessary, since no attempt was made to create copies in the first
place.
There might be a case when a copy can't be avoided (although not found
in existing tests). If a copy is necessary, the virtual register will be
created with `cl_FPSCR_NZCV` register class. If this register class is
inappropriate, `TRI::getCrossCopyRegClass` should be modified to return
the correct class.
Pull Request: https://github.com/llvm/llvm-project/pull/116676
2024-11-20 16:07:05 +03:00
..
2024-11-06 11:53:33 +00:00
2024-11-13 12:16:28 +00:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-08-29 04:35:06 +00:00
2022-12-19 13:04:20 +01:00
2024-02-05 13:56:59 +01:00
2022-12-19 13:04:20 +01:00
2023-06-14 21:18:39 +00:00
2023-06-01 17:49:25 +01:00
2024-08-08 11:39:05 +01:00
2023-10-18 19:40:11 +01:00
2022-12-19 13:04:20 +01:00
2024-03-28 14:43:49 -07:00
2022-12-19 13:04:20 +01:00
2024-10-17 13:53:22 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2024-07-10 11:32:41 +02:00
2024-07-10 11:32:41 +02:00
2023-02-24 10:32:30 +00:00
2024-07-10 11:32:41 +02:00
2024-07-10 11:32:41 +02:00
2022-12-19 13:04:20 +01:00
2024-07-10 11:32:41 +02:00
2024-07-10 11:32:41 +02:00
2024-10-28 09:01:06 +00:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2024-09-02 08:54:10 +01:00
2023-10-24 20:27:39 -07:00
2022-12-19 13:04:20 +01:00
2023-01-05 13:21:20 +01:00
2022-07-05 18:18:59 +02:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-01-20 14:35:23 +00:00
2024-11-11 19:39:02 +00:00
2022-12-19 13:04:20 +01:00
2023-07-18 14:01:04 +01:00
2022-12-19 13:04:20 +01:00
2024-06-14 10:35:50 -04:00
2024-06-14 10:35:50 -04:00
2023-02-01 09:05:12 +00:00
2023-01-05 13:21:20 +01:00
2024-10-17 20:25:06 +08:00
2024-10-17 20:25:06 +08:00
2024-10-17 20:25:06 +08:00
2024-06-07 12:22:42 +08:00
2023-01-05 13:21:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2024-08-09 08:50:21 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2024-07-10 11:32:41 +02:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-09-13 12:33:39 +01:00
2023-05-17 17:03:15 +02:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 13:04:20 +01:00
2024-10-17 20:25:06 +08:00
2022-12-19 13:04:20 +01:00
2024-09-07 14:09:29 +08:00
2023-12-07 13:20:36 -08:00
2022-11-14 14:02:27 +00:00
2023-10-09 12:31:32 +01:00
2022-11-14 14:02:27 +00:00
2022-11-14 14:02:27 +00:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2022-12-12 11:38:19 +00:00
2022-12-12 11:38:19 +00:00
2022-12-12 11:38:19 +00:00
2023-06-01 17:49:25 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-18 19:40:11 +01:00
2024-08-02 16:38:31 +03:00
2023-10-09 12:31:32 +01:00
2024-11-06 10:08:14 +00:00
2022-12-19 13:04:20 +01:00
2023-10-24 20:27:39 -07:00
2023-10-24 20:27:39 -07:00
2022-12-19 13:04:20 +01:00
2024-11-20 16:07:05 +03:00
2024-09-30 11:44:49 -07:00
2022-12-19 13:04:20 +01:00
2024-09-17 09:04:43 -07:00
2024-08-15 18:18:19 +02:00
2024-11-20 16:07:05 +03:00
2024-11-20 16:07:05 +03:00
2024-03-28 14:43:49 -07:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-07-12 14:35:55 +02:00
2023-07-12 14:35:55 +02:00
2024-11-06 11:53:33 +00:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2024-03-28 14:43:49 -07:00
2023-07-12 14:35:55 +02:00
2024-02-05 13:56:59 +01:00
2023-07-12 14:35:55 +02:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-05-31 19:48:57 +01:00
2024-09-05 09:34:39 +02:00
2024-03-28 14:43:49 -07:00
2024-06-12 14:11:07 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2024-09-07 14:09:29 +08:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2023-10-09 12:31:32 +01:00
2023-03-01 17:03:34 +08:00
2023-10-09 12:31:32 +01:00
2024-07-23 16:34:09 +01:00
2022-12-19 13:04:20 +01:00
2023-01-09 13:28:57 +00:00
2024-02-05 13:56:59 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2024-02-05 13:56:59 +01:00
2023-01-05 13:21:20 +01:00
2024-03-28 14:43:49 -07:00
2023-01-09 13:28:57 +00:00
2024-09-07 14:09:29 +08:00
2022-12-19 13:04:20 +01:00
2023-06-15 20:46:20 +01:00
2022-12-19 13:04:20 +01:00
2024-11-20 16:07:05 +03:00
2024-09-07 14:09:29 +08:00
2023-01-20 14:35:23 +00:00
2023-04-29 20:32:54 +01:00
2023-04-29 20:32:54 +01:00
2023-04-29 20:32:54 +01:00
2023-10-18 19:40:11 +01:00
2024-09-07 14:09:29 +08:00
2022-12-19 13:04:20 +01:00
2024-02-05 13:56:59 +01:00
2023-10-24 20:27:39 -07:00
2022-11-02 22:34:05 +00:00
2024-11-13 12:16:28 +00:00
2024-02-05 13:56:59 +01:00
2024-09-05 09:34:39 +02:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-07-12 14:35:55 +02:00
2023-07-12 14:35:55 +02:00
2023-10-09 12:31:32 +01:00
2024-09-19 08:32:23 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2024-09-24 08:10:50 +01:00
2023-02-09 18:45:20 +03:00
2023-12-05 14:09:36 +01:00
2023-05-25 13:56:29 +05:30
2024-06-06 11:43:39 +01:00
2024-06-04 09:23:52 +08:00
2024-09-19 08:32:23 +01:00
2023-09-25 10:09:36 +01:00
2024-02-02 21:40:40 +00:00
2024-08-08 11:39:05 +01:00
2024-11-07 11:23:49 +00:00
2023-10-09 12:31:32 +01:00
2024-11-06 14:46:08 +00:00
2023-01-09 13:28:57 +00:00
2024-11-20 16:07:05 +03:00
2024-11-20 16:07:05 +03:00
2024-11-20 16:07:05 +03:00
2023-01-09 13:28:57 +00:00
2022-11-02 22:34:05 +00:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2024-01-25 08:12:51 +00:00
2023-10-09 12:31:32 +01:00
2023-06-01 17:49:25 +01:00
2024-02-05 13:56:59 +01:00
2024-05-22 22:43:10 +08:00
2023-10-09 12:31:32 +01:00
2024-10-10 08:39:25 +08:00
2024-02-05 13:56:59 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2023-06-01 14:18:08 -07:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2024-03-28 14:43:49 -07:00
2024-02-05 13:56:59 +01:00
2022-12-19 13:04:20 +01:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2024-09-13 10:59:57 +01:00
2024-02-05 13:56:59 +01:00
2023-10-09 12:31:32 +01:00
2023-06-01 17:49:25 +01:00
2023-02-07 10:06:58 +00:00
2023-05-25 13:56:29 +05:30
2024-02-26 12:12:31 +00:00
2023-01-05 13:21:20 +01:00
2022-12-09 01:04:47 +03:00
2024-03-27 16:04:48 +00:00
2023-01-16 17:59:45 +00:00
2023-01-16 17:59:45 +00:00
2022-07-19 11:53:47 +01:00
2023-10-09 12:31:32 +01:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2023-10-09 12:31:32 +01:00
2024-07-23 16:34:09 +01:00
2023-10-09 12:31:32 +01:00
2024-07-23 16:34:09 +01:00
2023-01-16 17:59:45 +00:00
2023-01-05 13:21:20 +01:00
2022-12-19 13:04:20 +01:00
2023-12-20 16:56:15 +01:00
2024-10-28 09:01:06 +00:00
2024-10-28 09:01:06 +00:00
2024-10-28 09:01:06 +00:00
2024-07-10 11:32:41 +02:00
2022-12-19 13:04:20 +01:00
2024-10-28 09:01:06 +00:00
2024-10-28 09:01:06 +00:00
2024-07-10 11:32:41 +02:00
2024-10-28 09:01:06 +00:00
2024-10-28 09:01:06 +00:00
2024-07-10 11:32:41 +02:00
2024-10-28 09:01:06 +00:00
2024-10-28 09:01:06 +00:00
2024-10-28 09:01:06 +00:00
2024-07-17 11:26:56 +08:00
2022-12-19 13:04:20 +01:00
2023-01-05 13:21:20 +01:00
2024-09-03 16:15:17 +09:00
2023-07-14 12:54:18 -07:00
2024-09-17 18:29:20 +01:00
2024-02-05 13:56:59 +01:00
2022-12-19 13:04:20 +01:00
2023-07-19 13:56:36 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2024-11-05 14:42:15 +00:00
2023-05-23 09:49:57 -07:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2023-01-05 13:21:20 +01:00
2024-02-05 13:56:59 +01:00
2022-12-19 13:04:20 +01:00
2023-01-05 13:21:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-06-28 10:50:24 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-06-14 21:18:39 +00:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-04-04 12:48:20 +01:00
2022-04-06 09:18:08 +01:00
2022-06-01 15:28:19 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-10-09 12:31:32 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2022-12-19 13:04:20 +01:00
2023-10-24 20:27:39 -07:00
2023-06-01 17:49:25 +01:00