summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManuel Jacob <me@manueljacob.de>2015-12-23 00:19:45 +0000
committerManuel Jacob <me@manueljacob.de>2015-12-23 00:19:45 +0000
commita4efd8ac2efde5fade99e47f1abb51bdb84fd68d (patch)
tree7eae43733fae710509c17fe523d42b1fbafbf639
parent1cb242eb139d31e2d76b8a2affef97eb9b33ad1b (diff)
downloadbcm5719-llvm-a4efd8ac2efde5fade99e47f1abb51bdb84fd68d.tar.gz
bcm5719-llvm-a4efd8ac2efde5fade99e47f1abb51bdb84fd68d.zip
[RS4GC] Fix base pair printing for constants.
Previously, "%" + name of the value was printed for each derived and base pointer. This is correct for instructions, but wrong for e.g. globals. llvm-svn: 256305
-rw-r--r--llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp17
-rw-r--r--llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll2
-rw-r--r--llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll2
3 files changed, 14 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp b/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
index 5b3a7644e78..062fba5cdad 100644
--- a/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
+++ b/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
@@ -1208,8 +1208,11 @@ static void findBasePointers(DominatorTree &DT, DefiningValueMapTy &DVCache,
std::sort(Temp.begin(), Temp.end(), order_by_name);
for (Value *Ptr : Temp) {
Value *Base = PointerToBase[Ptr];
- errs() << " derived %" << Ptr->getName() << " base %" << Base->getName()
- << "\n";
+ errs() << " derived ";
+ Ptr->printAsOperand(errs(), false);
+ errs() << " base ";
+ Base->printAsOperand(errs(), false);
+ errs() << "\n";;
}
}
@@ -2378,9 +2381,13 @@ static bool insertParsePoints(Function &F, DominatorTree &DT,
if (PrintBasePointers) {
for (auto &Info : Records) {
errs() << "Base Pairs: (w/Relocation)\n";
- for (auto Pair : Info.PointerToBase)
- errs() << " derived %" << Pair.first->getName() << " base %"
- << Pair.second->getName() << "\n";
+ for (auto Pair : Info.PointerToBase) {
+ errs() << " derived ";
+ Pair.first->printAsOperand(errs(), false);
+ errs() << " base ";
+ Pair.second->printAsOperand(errs(), false);
+ errs() << "\n";
+ }
}
}
diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll b/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll
index d4425a77a53..fbe1207e6c1 100644
--- a/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll
+++ b/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll
@@ -1,6 +1,6 @@
; RUN: opt %s -rewrite-statepoints-for-gc -spp-print-base-pointers -S 2>&1 | FileCheck %s
-; CHECK: derived %select base %global
+; CHECK: derived %select base @global
@global = external addrspace(1) global i8
diff --git a/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll b/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll
index 9c16eb236f2..65782c27c98 100644
--- a/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll
+++ b/llvm/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll
@@ -1,6 +1,6 @@
; RUN: opt %s -rewrite-statepoints-for-gc -spp-print-base-pointers -S 2>&1 | FileCheck %s
-; CHECK: derived %derived base %global
+; CHECK: derived %derived base @global
@global = external addrspace(1) global i8
OpenPOWER on IntegriCloud