diff options
author | Manman Ren <manman.ren@gmail.com> | 2013-12-09 21:06:30 +0000 |
---|---|---|
committer | Manman Ren <manman.ren@gmail.com> | 2013-12-09 21:06:30 +0000 |
commit | 27457ac42f7a9267ab7e0190424a95fecf0ea201 (patch) | |
tree | 132247fae880294687361f9bec1aebd615a48a90 /include | |
parent | 782ff3b70086bd3580f12228082ea998f152f9cd (diff) | |
download | external_llvm-27457ac42f7a9267ab7e0190424a95fecf0ea201.zip external_llvm-27457ac42f7a9267ab7e0190424a95fecf0ea201.tar.gz external_llvm-27457ac42f7a9267ab7e0190424a95fecf0ea201.tar.bz2 |
Merging r196158:
------------------------------------------------------------------------
r196158 | mren | 2013-12-02 13:29:56 -0800 (Mon, 02 Dec 2013) | 12 lines
Debug Info: drop debug info via upgrading path if version number does not match.
Add a helper function getDebugInfoVersionFromModule to return the debug info
version number for a module.
"Verifier/module-flags-1.ll" checks for verification errors.
It will seg fault when calling getDebugInfoVersionFromModule because of the
incorrect format for module flags in the testing case. We make
getModuleFlagsMetadata more robust by checking for error conditions.
PR17982
------------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196822 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/AutoUpgrade.h | 4 | ||||
-rw-r--r-- | include/llvm/DebugInfo.h | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/AutoUpgrade.h b/include/llvm/AutoUpgrade.h index b638d4f..c774782 100644 --- a/include/llvm/AutoUpgrade.h +++ b/include/llvm/AutoUpgrade.h @@ -57,6 +57,10 @@ namespace llvm { /// with different address spaces: the instruction is replaced by a pair /// ptrtoint+inttoptr. Value *UpgradeBitCastExpr(unsigned Opc, Constant *C, Type *DestTy); + + /// Check the debug info version number, if it is out-dated, drop the debug + /// info. Return true if module is modified. + bool UpgradeDebugInfo(Module &M); } // End llvm namespace #endif diff --git a/include/llvm/DebugInfo.h b/include/llvm/DebugInfo.h index 0ff7d85..7c4c112 100644 --- a/include/llvm/DebugInfo.h +++ b/include/llvm/DebugInfo.h @@ -759,6 +759,9 @@ DITypeIdentifierMap generateDITypeIdentifierMap(const NamedMDNode *CU_Nodes); /// Return true if module is modified. bool StripDebugInfo(Module &M); +/// Return Debug Info Version by checking module flags. +unsigned getDebugInfoVersionFromModule(const Module &M); + /// DebugInfoFinder tries to list all debug info MDNodes used in a module. To /// list debug info MDNodes used by an instruction, DebugInfoFinder uses /// processDeclare, processValue and processLocation to handle DbgDeclareInst, |