Shubham Sandeep Rastogi
a9763deb2f
Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (#90922)
Make sure to merge the sourcelocation of the Dominating Instruction that
is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass.
If this is not done, we can have a incorrect line table entry that makes
the instruction pointer jump around.
For example the line table without this patch looks like:
```
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000 0 0 1 0 0 0 is_stmt
0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end
0x0000000000000028 12 1 1 0 0 0 is_stmt
0x000000000000002c 12 15 1 0 0 0
0x000000000000004c 12 13 1 0 0 0
0x000000000000005c 13 1 1 0 0 0 is_stmt
0x0000000000000064 12 13 1 0 0 0 is_stmt
0x000000000000007c 13 7 1 0 0 0 is_stmt
0x00000000000000c8 13 1 1 0 0 0
0x00000000000000e8 13 1 1 0 0 0 epilogue_begin
0x00000000000000f8 13 1 1 0 0 0 end_sequence
```
The line table entry for 0x000000000000005c should be 0
After this patch, the line table looks like:
```
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- ------- -------------
0x0000000000000000 0 0 1 0 0 0 is_stmt
0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end
0x0000000000000028 12 1 1 0 0 0 is_stmt
0x000000000000002c 12 15 1 0 0 0
0x000000000000004c 12 13 1 0 0 0
0x000000000000005c 0 0 1 0 0 0
0x0000000000000064 12 13 1 0 0 0
0x000000000000007c 13 7 1 0 0 0 is_stmt
0x00000000000000c8 13 1 1 0 0 0
0x00000000000000e8 13 1 1 0 0 0 epilogue_begin
0x00000000000000f8 13 1 1 0 0 0 end_sequence
```
2024-05-15 18:15:40 -07:00
..
2024-05-15 18:15:40 -07:00
2024-02-09 09:20:25 +01:00
2024-05-13 11:14:35 +01:00
2024-05-13 12:49:42 +01:00
2023-06-14 14:46:50 +02:00
2024-05-03 09:51:56 -07:00
2023-07-12 12:03:44 +02:00
2024-05-03 09:51:56 -07:00
2023-12-05 01:57:14 -05:00
2023-05-17 17:03:15 +02:00
2024-04-26 08:30:27 -07:00
2023-10-15 16:13:05 -07:00
2024-05-08 17:30:14 +08:00
2024-05-03 09:51:56 -07:00
2024-02-06 13:02:38 -08:00
2024-05-13 11:14:35 +01:00
2024-05-15 13:10:16 +01:00
2023-05-17 17:03:15 +02:00
2024-04-26 08:30:27 -07:00
2023-10-25 17:01:19 +02:00
2024-04-26 08:30:27 -07:00
2024-01-09 10:48:23 -08:00
2024-01-13 14:55:54 -08:00
2024-05-13 11:14:35 +01:00
2023-12-04 17:35:47 -06:00
2023-05-17 17:03:15 +02:00
2023-02-10 01:33:51 +00:00
2023-06-20 14:29:12 -04:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-12-09 01:04:45 +03:00
2023-12-14 19:47:15 -08:00
2022-07-20 13:57:11 -04:00
2023-06-26 13:30:48 -07:00
2024-04-16 17:07:46 +01:00
2024-04-16 17:07:46 +01:00
2024-04-16 17:07:46 +01:00
2024-04-16 17:07:46 +01:00
2024-04-16 17:07:46 +01:00
2024-04-16 17:07:46 +01:00
2024-04-16 17:07:46 +01:00
2022-12-15 07:01:14 -08:00
2023-04-04 12:48:00 -07:00
2024-03-19 20:07:07 +00:00
2023-12-12 14:28:05 +00:00
2024-02-01 08:47:11 -08:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2024-03-08 07:34:36 +07:00
2023-03-27 15:34:00 -07:00
2023-01-11 15:07:11 -08:00
2022-03-22 16:46:48 +04:00
2022-10-12 12:49:17 +02:00
2022-01-05 20:36:04 -08:00
2022-07-14 16:28:57 -07:00
2022-09-19 11:41:16 -07:00
2022-03-22 16:46:48 +04:00
2024-02-20 12:09:00 -08:00
2022-01-26 11:56:57 -05:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2022-10-12 12:49:17 +02:00
2024-01-25 23:28:56 +00:00
2023-01-06 10:51:02 +00:00
2023-03-27 10:20:08 +01:00
2023-06-16 00:49:59 +02:00
2022-12-09 01:04:45 +03:00
2024-04-16 17:07:46 +01:00
2024-05-03 09:51:56 -07:00
2024-03-18 14:41:32 +00:00
2022-12-09 01:04:45 +03:00
2024-04-05 14:18:59 +01:00
2024-04-16 17:07:46 +01:00
2022-12-09 01:04:45 +03:00
2023-11-20 16:56:31 +00:00
2023-05-23 15:31:31 -07:00
2024-01-23 22:52:47 +00:00
2024-05-03 09:51:56 -07:00
2023-12-12 15:49:24 +00:00
2022-12-09 01:04:45 +03:00
2022-03-22 16:46:48 +04:00
2023-02-15 19:07:05 +08:00
2021-10-16 13:32:17 +02:00
2023-06-28 10:39:28 -07:00
2022-06-27 11:18:41 -07:00
2022-08-04 10:20:29 -07:00
2022-08-08 11:08:48 -07:00
2022-08-04 10:20:29 -07:00
2022-08-04 10:20:29 -07:00
2022-08-04 10:20:29 -07:00
2023-04-05 11:25:26 -07:00
2023-06-28 10:39:28 -07:00
2023-06-28 10:39:28 -07:00
2022-06-27 10:44:15 -07:00
2022-06-27 10:44:15 -07:00
2023-06-28 17:51:39 +07:00
2022-07-14 16:28:57 -07:00
2022-09-19 11:41:16 -07:00
2023-07-05 09:54:28 +02:00
2024-04-16 17:07:46 +01:00