This is an archive of the discontinued LLVM Phabricator instance.

[Transforms] Keep TBAA tags in SimplifyCFG transformations
Needs ReviewPublic

Authored by DanilM on Mar 18 2018, 6:12 PM.

Details

Summary

If SimplifyCFG attaches one block to another it removes all metadata from instructions of a block that should be attached because it can be depended on conditions that are changed during transformation.
In case of TBAA metadata, it looks too conservatively: data types of load/store instructions cannot be changed during such transformations even if the pointed data was changed.
So attached the patch saves TBAA tags from removing during SimplifyCFG transformations.

Diff Detail

Repository
rC Clang

Event Timeline

DanilM created this revision.Mar 18 2018, 6:12 PM