Jin Huang
fa5cd27ef0
[profcheck] Add unknown branch weights to expand LL/SR loop. ( #166273 )
...
As a follow-up to PR#165841, this change addresses `prof_md` metadata
loss in AtomicExpandPass when lowering `atomicrmw xchg` to a
Load-Linked/Store-Exclusive (LL/SC) loop.
This path is distinct from the LSE path addressed previously:
PR #165841 (and its tests) used `-mtriple=aarch64-linux-gnu`, which
targets a modern **ARMv8.1+** architecture. This architecture supports
**Large System Extensions (LSE)**, allowing `atomicrmw` to be lowered
directly to a more efficient hardware instruction.
This PR (and its tests) uses `-mtriple=aarch64--` or
`-mtriple=armv8-linux-gnueabihf`. This indicates an `ARMv8.0 or lower
architecture that does not support LSE`. On these targets, the pass must
fall back to synthesizing a manual LL/SC loop using the `ldaxr/stxr`
instruction pair.
Similar to previous issue, the new conditional branch was failin to
inherit the `prof_md` metadata. Theis PR correctly fix the branch
weights to the newly created branch within the LL/SC loop, ensuring
profile information is preserved.
Co-authored-by: Jin Huang <jingold@google.com>
2025-11-04 16:23:34 -08:00
..
2025-10-23 11:39:11 +08:00
2025-10-23 11:39:11 +08:00
2025-10-09 13:41:53 -07:00
2025-09-24 12:42:50 +02:00
2025-09-12 20:01:17 +02:00
2025-11-04 16:23:34 -08:00
2025-11-04 12:00:44 +00:00
2025-05-02 08:17:58 +00:00
2025-06-24 12:32:50 +01:00
2025-08-08 11:09:34 +02:00
2025-10-25 16:47:32 +08:00
2025-10-23 11:39:11 +08:00
2025-10-23 12:50:12 +01:00
2025-10-23 11:39:11 +08:00
2025-10-01 14:20:10 +08:00
2025-08-08 11:09:34 +02:00
2025-10-23 20:31:31 +08:00
2025-10-23 20:31:31 +08:00
2025-10-30 00:34:48 +08:00
2025-11-03 10:34:44 +00:00
2025-11-04 12:00:44 +00:00
2025-06-17 19:58:24 -04:00
2025-06-26 22:35:38 -07:00
2025-10-13 09:18:03 +02:00
2025-09-05 16:22:22 +02:00
2025-08-08 11:09:34 +02:00
2025-10-30 14:22:42 +01:00
2025-05-15 15:00:05 +02:00
2025-10-20 08:50:09 +00:00
2025-10-23 20:31:31 +08:00
2025-09-22 18:11:08 +00:00
2025-10-23 20:31:31 +08:00
2025-10-07 17:19:48 +02:00
2025-10-30 10:34:59 +01:00
2025-10-23 20:31:31 +08:00
2025-10-20 16:46:08 +02:00
2025-10-07 10:45:49 -04:00
2025-07-28 22:29:31 +01:00
2025-08-08 11:09:34 +02:00
2025-11-02 14:16:24 +00:00
2025-10-20 08:50:09 +00:00
2025-10-20 08:50:09 +00:00
2025-07-15 10:41:32 +02:00
2025-10-23 20:31:31 +08:00
2025-11-03 09:32:42 -08:00
2025-10-31 11:14:08 +00:00
2025-10-20 08:50:09 +00:00
2025-08-08 10:12:39 -07:00
2025-10-22 13:17:04 +08:00
2025-09-10 15:34:35 -07:00
2025-10-23 20:31:31 +08:00
2025-10-30 09:23:04 -05:00
2025-07-10 11:23:33 -05:00
2025-10-30 09:23:04 -05:00
2025-10-30 09:23:04 -05:00
2025-11-04 16:48:39 -05:00
2025-11-04 12:00:44 +00:00
2025-10-20 10:23:36 +01:00
2025-07-27 13:53:26 +01:00
2025-10-17 23:33:49 +00:00
2025-10-23 20:31:31 +08:00
2025-10-11 19:34:17 +00:00
2025-10-30 13:53:15 +00:00
2025-11-04 12:49:33 -05:00
2025-10-07 10:45:49 -04:00
2025-11-04 17:08:12 +00:00
2025-09-12 20:01:17 +02:00
2025-06-04 16:47:20 +01:00
2025-04-30 22:06:37 +01:00
2025-10-17 18:42:30 +00:00
2025-10-07 17:19:48 +02:00
2025-08-08 11:09:34 +02:00
2025-10-30 10:23:40 +01:00
2025-09-25 12:26:57 -07:00
2025-09-12 20:01:17 +02:00
2025-06-06 12:43:24 -07:00
2025-10-23 20:31:31 +08:00
2025-08-08 11:09:34 +02:00
2025-05-10 08:26:26 -07:00
2025-10-23 20:31:31 +08:00
2025-08-08 11:09:34 +02:00
2025-11-04 12:26:17 +08:00
2025-08-08 11:09:34 +02:00
2025-10-31 08:48:02 -05:00
2025-11-02 16:10:45 +00:00
2025-11-04 12:00:44 +00:00
2025-08-01 16:54:48 +00:00
2025-04-30 15:01:00 +02:00
2025-09-22 12:18:25 +02:00
2025-10-20 08:50:09 +00:00
2025-10-24 09:17:43 -07:00
2025-10-24 18:49:45 +08:00
2025-06-05 09:14:17 -07:00
2025-10-20 08:50:09 +00:00
2025-10-24 18:49:45 +08:00
2025-10-22 22:17:39 +08:00
2025-09-19 09:01:14 +02:00
2025-11-04 11:00:35 -08:00
2025-11-05 01:43:05 +08:00
2025-06-06 12:43:24 -07:00
2025-11-04 07:50:51 +00:00
2025-10-20 16:56:11 +02:00
2025-10-24 18:49:45 +08:00
2025-07-16 13:12:28 -07:00
2025-10-24 18:49:45 +08:00
2025-04-09 10:36:12 -07:00
2025-11-03 20:59:48 +01:00
2025-08-08 11:09:34 +02:00
2025-08-28 19:13:53 -07:00
2025-10-30 14:22:42 +01:00
2025-11-04 11:23:02 -08:00
2025-11-04 12:39:04 +00:00
2025-10-22 12:16:11 +01:00
2025-06-26 21:35:35 -07:00
2025-06-27 11:28:07 -07:00