middle-end/111591 - explain why TBAA doesn't need adjustment
While tidying the prototype patch I've done for the reduced testcase in PR111591 and in that process trying to produce a testcase that is miscompiled by stack slot coalescing and the TBAA info that remains un-altered I've realized we do not need to adjust TBAA info. The following documents this in the place we adjust points-to info which we do need to adjust. PR middle-end/111591 * cfgexpand.cc (update_alias_info_with_stack_vars): Document why not adjusting TBAA info on accesses is OK.
This commit is contained in:
parent
8e0568d8ac
commit
97094d2ffd
1 changed files with 7 additions and 1 deletions
|
@ -786,7 +786,13 @@ add_partitioned_vars_to_ptset (struct pt_solution *pt,
|
|||
/* Update points-to sets based on partition info, so we can use them on RTL.
|
||||
The bitmaps representing stack partitions will be saved until expand,
|
||||
where partitioned decls used as bases in memory expressions will be
|
||||
rewritten. */
|
||||
rewritten.
|
||||
|
||||
It is not necessary to update TBAA info on accesses to the coalesced
|
||||
storage since our memory model doesn't allow TBAA to be used for
|
||||
WAW or WAR dependences. For RAW when the write is to an old object
|
||||
the new object would not have been initialized at the point of the
|
||||
read, invoking undefined behavior. */
|
||||
|
||||
static void
|
||||
update_alias_info_with_stack_vars (void)
|
||||
|
|
Loading…
Add table
Reference in a new issue