[PATCH] D44617: [Transforms] Keep TBAA tags in SimplifyCFG transformations

Danil Malyshev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Mar 18 18:12:32 PDT 2018


DanilM created this revision.
DanilM added reviewers: hfinkel, rjmccall, kosarev.
Herald added a subscriber: cfe-commits.

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.


Repository:
  rC Clang

https://reviews.llvm.org/D44617

Files:
  lib/Transforms/Utils/SimplifyCFG.cpp
  test/Transforms/SimplifyCFG/basictest.ll
  test/Transforms/SimplifyCFG/fold-two-entry-phi-tbaa.ll
  test/Transforms/SimplifyCFG/speculate-tbaa.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44617.138875.patch
Type: text/x-patch
Size: 10098 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180319/015edfa8/attachment.bin>


More information about the cfe-commits mailing list