diff options
author | Cameron Zwarich <zwarich@apple.com> | 2011-05-24 03:10:43 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2011-05-24 03:10:43 +0000 |
commit | c827939046670a9800659b83e2048f1d3a79a531 (patch) | |
tree | 6e93cbf3cf2b669154f8e12e884fa01c6e3a2afe /include/llvm/Transforms/Utils/SSAUpdater.h | |
parent | e6657980977ed63df8bbd2604c9fefe513ac4126 (diff) | |
download | external_llvm-c827939046670a9800659b83e2048f1d3a79a531.zip external_llvm-c827939046670a9800659b83e2048f1d3a79a531.tar.gz external_llvm-c827939046670a9800659b83e2048f1d3a79a531.tar.bz2 |
Make LoadAndStorePromoter preserve debug info and create llvm.dbg.values when
promoting allocas to SSA variables. Fixes <rdar://problem/9479036>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131953 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Transforms/Utils/SSAUpdater.h')
-rw-r--r-- | include/llvm/Transforms/Utils/SSAUpdater.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/llvm/Transforms/Utils/SSAUpdater.h b/include/llvm/Transforms/Utils/SSAUpdater.h index b4048b9..707862f 100644 --- a/include/llvm/Transforms/Utils/SSAUpdater.h +++ b/include/llvm/Transforms/Utils/SSAUpdater.h @@ -21,6 +21,8 @@ namespace llvm { class PHINode; template<typename T> class SmallVectorImpl; template<typename T> class SSAUpdaterTraits; + class DbgDeclareInst; + class DIBuilder; class BumpPtrAllocator; /// SSAUpdater - This class updates SSA form for a set of values defined in @@ -120,9 +122,12 @@ private: class LoadAndStorePromoter { protected: SSAUpdater &SSA; + DbgDeclareInst *DDI; + DIBuilder *&DIB; public: LoadAndStorePromoter(const SmallVectorImpl<Instruction*> &Insts, - SSAUpdater &S, StringRef Name = StringRef()); + SSAUpdater &S, DbgDeclareInst *DDI, DIBuilder *&DIB, + StringRef Name = StringRef()); virtual ~LoadAndStorePromoter() {} /// run - This does the promotion. Insts is a list of loads and stores to |