mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user