diff options
author | Manman Ren <manman.ren@gmail.com> | 2013-09-28 00:22:27 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2013-09-28 00:22:27 +0000 |
commit | 804f034bd18789e9bbf4c70c10189dd6dbf04128 (patch) | |
tree | 934646950d694157e4fc94e5fd7bb19a8e231697 /include/llvm | |
parent | 6ff59a16a05d43fdda587ce600b5b42a63cf3d33 (diff) | |
download | external_llvm-804f034bd18789e9bbf4c70c10189dd6dbf04128.zip external_llvm-804f034bd18789e9bbf4c70c10189dd6dbf04128.tar.gz external_llvm-804f034bd18789e9bbf4c70c10189dd6dbf04128.tar.bz2 |
AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format.
We treat TBAA tags as struct-path aware TBAA format when the first operand
is a MDNode and the tag has 3 or more operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191593 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/AutoUpgrade.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/llvm/AutoUpgrade.h b/include/llvm/AutoUpgrade.h index ca3446e..8df87fa 100644 --- a/include/llvm/AutoUpgrade.h +++ b/include/llvm/AutoUpgrade.h @@ -19,6 +19,7 @@ namespace llvm { class GlobalVariable; class Function; class CallInst; + class Instruction; /// This is a more granular function that simply checks an intrinsic function /// for upgrading, and returns true if it requires upgrading. It may return @@ -39,6 +40,10 @@ namespace llvm { /// This checks for global variables which should be upgraded. It returns true /// if it requires upgrading. bool UpgradeGlobalVariable(GlobalVariable *GV); + + /// If the TBAA tag for the given instruction uses the scalar TBAA format, + /// we upgrade it to the struct-path aware TBAA format. + void UpgradeInstWithTBAATag(Instruction *I); } // End llvm namespace #endif |