Commit 0d6d6c3
Frank Tetzel
[CGP] Do not eliminate blocks which have their address taken
When eliminating a block, codegenprepare updates all blockaddress
expressions which reference the block. In case the blockaddress is
located in a different function, it leads to updates across function
boundaries, which is problematic for a function pass like
codegenprepare.
If blockaddress is in a function defined before the current one, the
update to the blockaddress is lost.
This change adds a check to avoid eliminations of any block which has
its address taken.
Fixes: #161164
Change-Id: Ieebc50352234c332365d24ad0083cd51ae903e351 parent 50d65a5 commit 0d6d6c3
1 file changed
+6
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
954 | 954 | | |
955 | 955 | | |
956 | 956 | | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
957 | 963 | | |
958 | 964 | | |
959 | 965 | | |
| |||
0 commit comments