aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/AsmPrinter/DIE.cpp
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2013-03-20 04:35:40 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2013-03-20 04:35:40 +0000
commit6cb1cc8a104c032246b2473cd31741450fcaf846 (patch)
tree90c0395880593bf195fb818c2af1139cb7e846df /lib/CodeGen/AsmPrinter/DIE.cpp
parente316ed5b5b1ea97934302f6f53c37c0a3334a974 (diff)
parent3dd51ae3a043f2edf9dd2bc7c906c3f602967e5a (diff)
downloadexternal_llvm-6cb1cc8a104c032246b2473cd31741450fcaf846.zip
external_llvm-6cb1cc8a104c032246b2473cd31741450fcaf846.tar.gz
external_llvm-6cb1cc8a104c032246b2473cd31741450fcaf846.tar.bz2
am 3dd51ae3: am 2d4629c5: Merge branch \'upstream\' into merge_2013_03_18
* commit '3dd51ae3a043f2edf9dd2bc7c906c3f602967e5a': (424 commits) Change NULL to 0. Register the flush function for each compile unit. Remove trailing spaces. Fix PPC unaligned 64-bit loads and stores ARM cost model: Make some vector integer to float casts cheaper ARM cost model: Correct cost for some cheap float to integer conversions Extend global merge pass to optionally consider global constant variables. Also add some checks to not merge globals used within landing pad instructions or marked as "used". Change test cases to handle unaligned references. Remove unnecessary leading comment characters in lit-only file Add SchedRW annotations to most of X86InstrSSE.td. Annotate X86 arithmetic instructions with SchedRW lists. Check whether a pointer is non-null (isKnownNonNull) in isKnownNonZero. TableGen fix for the new machine model. Include '.test' suffix in target specific lit configs that need it Make the fields in the diagram match the descriptive text above them. Update Fix 80-col. violations in PPCCTRLoops Fix large count and negative constant count handling in PPCCTRLoops Cleanup initial-value constants in PPCCTRLoops Fix integer comparison in DIEInteger::BestForm. ...
Diffstat (limited to 'lib/CodeGen/AsmPrinter/DIE.cpp')
-rw-r--r--lib/CodeGen/AsmPrinter/DIE.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/CodeGen/AsmPrinter/DIE.cpp b/lib/CodeGen/AsmPrinter/DIE.cpp
index 4ded281..bbb0432 100644
--- a/lib/CodeGen/AsmPrinter/DIE.cpp
+++ b/lib/CodeGen/AsmPrinter/DIE.cpp
@@ -112,6 +112,17 @@ DIE::~DIE() {
delete Children[i];
}
+/// Climb up the parent chain to get the compile unit DIE this DIE belongs to.
+DIE *DIE::getCompileUnit() const{
+ DIE *p = getParent();
+ while (p) {
+ if (p->getTag() == dwarf::DW_TAG_compile_unit)
+ return p;
+ p = p->getParent();
+ }
+ llvm_unreachable("We should not have orphaned DIEs.");
+}
+
#ifndef NDEBUG
void DIE::print(raw_ostream &O, unsigned IncIndent) {
IndentCount += IncIndent;