Commit bd6cb19
committed
[Clang][CodeGen] Fix use of CXXThisValue with StrictVTablePointers
When emitting non-virtual base initializers for the constructor prologue,
we would potentially use a re-laundered this pointer value from a
previous block, which subsequently would not dominate this use.
With this fix, we always launder the original CXXThisValue.
This fixes #679371 parent 0fb1ad5 commit bd6cb19
File tree
2 files changed
+5
-13
lines changed- clang
- lib/CodeGen
- test/CodeGenCXX
2 files changed
+5
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
1291 | 1292 | | |
1292 | 1293 | | |
1293 | 1294 | | |
1294 | | - | |
1295 | 1295 | | |
1296 | 1296 | | |
1297 | 1297 | | |
| 1298 | + | |
1298 | 1299 | | |
1299 | 1300 | | |
1300 | 1301 | | |
| |||
1311 | 1312 | | |
1312 | 1313 | | |
1313 | 1314 | | |
1314 | | - | |
| 1315 | + | |
1315 | 1316 | | |
1316 | 1317 | | |
1317 | 1318 | | |
1318 | 1319 | | |
1319 | 1320 | | |
1320 | 1321 | | |
1321 | 1322 | | |
1322 | | - | |
1323 | | - | |
1324 | 1323 | | |
1325 | 1324 | | |
1326 | 1325 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
4 | 3 | | |
5 | 4 | | |
6 | 5 | | |
| |||
9 | 8 | | |
10 | 9 | | |
11 | 10 | | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | 11 | | |
18 | 12 | | |
19 | 13 | | |
| |||
24 | 18 | | |
25 | 19 | | |
26 | 20 | | |
27 | | - | |
28 | | - | |
| 21 | + | |
29 | 22 | | |
0 commit comments