From 982e9b7f0d95a061f9253edf5bbc2689f82a0e32 Mon Sep 17 00:00:00 2001 From: Manuel Jacob Date: Wed, 23 Dec 2015 00:19:45 +0000 Subject: [PATCH] [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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256305 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Scalar/RewriteStatepointsForGC.cpp | 17 ++++++++++++----- .../RewriteStatepointsForGC/base-pointers-12.ll | 2 +- .../RewriteStatepointsForGC/base-pointers-13.ll | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp b/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp index 5b3a7644e78..062fba5cdad 100644 --- a/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp +++ b/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/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll b/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll index d4425a77a53..fbe1207e6c1 100644 --- a/test/Transforms/RewriteStatepointsForGC/base-pointers-12.ll +++ b/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/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll b/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll index 9c16eb236f2..65782c27c98 100644 --- a/test/Transforms/RewriteStatepointsForGC/base-pointers-13.ll +++ b/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 -- 2.34.1