From e7d4cc83c7124efb450b29b41b3f410101baf8e6 Mon Sep 17 00:00:00 2001 From: Heejin Ahn Date: Wed, 9 Jan 2019 23:05:21 +0000 Subject: [PATCH] [WebAssembly] Print a debug message at the start of each pass Summary: Looks like many passes print its pass description as a debug message at the start of each pass, so added that to (mostly newly added) other passes as well. Reviewers: dschuff Subscribers: jgravelle-google, sbc100, sunfish, llvm-commits Differential Revision: https://reviews.llvm.org/D56142 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@350771 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp | 2 +- lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp | 2 +- lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp | 4 ++++ lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp | 5 ++++- lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp | 2 ++ lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp | 4 ++++ lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp | 4 ++++ lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp | 2 ++ lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp | 2 ++ lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp | 4 ++++ 10 files changed, 28 insertions(+), 3 deletions(-) diff --git a/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp b/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp index 3f17160964b..e49e2b67f43 100644 --- a/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp +++ b/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp @@ -60,7 +60,7 @@ ModulePass *llvm::createWebAssemblyAddMissingPrototypes() { } bool WebAssemblyAddMissingPrototypes::runOnModule(Module &M) { - LLVM_DEBUG(dbgs() << "runnning AddMissingPrototypes\n"); + LLVM_DEBUG(dbgs() << "********** Add Missing Prototypes **********\n"); std::vector> Replacements; diff --git a/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp b/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp index 326e838052d..aaa6d286598 100644 --- a/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp +++ b/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp @@ -98,7 +98,7 @@ static bool IsPseudoCallIndirect(const MachineInstr &MI) { bool WebAssemblyCallIndirectFixup::runOnMachineFunction(MachineFunction &MF) { LLVM_DEBUG(dbgs() << "********** Fixing up CALL_INDIRECTs **********\n" - << MF.getName() << '\n'); + << "********** Function: " << MF.getName() << '\n'); bool Changed = false; const WebAssemblyInstrInfo *TII = diff --git a/lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp b/lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp index bd1ab472c1e..c86260ba408 100644 --- a/lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp +++ b/lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp @@ -53,6 +53,10 @@ FunctionPass *llvm::createWebAssemblyEHRestoreStackPointer() { bool WebAssemblyEHRestoreStackPointer::runOnMachineFunction( MachineFunction &MF) { + LLVM_DEBUG(dbgs() << "********** EH Restore Stack Pointer **********\n" + "********** Function: " + << MF.getName() << '\n'); + const auto *FrameLowering = static_cast( MF.getSubtarget().getFrameLowering()); if (!FrameLowering->needsPrologForEH(MF)) diff --git a/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp b/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp index dca7902b8fb..6b3a3e76578 100644 --- a/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp +++ b/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp @@ -32,7 +32,10 @@ INITIALIZE_PASS_DEPENDENCY(MachineDominanceFrontier) INITIALIZE_PASS_END(WebAssemblyExceptionInfo, DEBUG_TYPE, "WebAssembly Exception Information", true, true) -bool WebAssemblyExceptionInfo::runOnMachineFunction(MachineFunction &F) { +bool WebAssemblyExceptionInfo::runOnMachineFunction(MachineFunction &MF) { + LLVM_DEBUG(dbgs() << "********** Exception Info Calculation **********\n" + "********** Function: " + << MF.getName() << '\n'); releaseMemory(); auto &MDT = getAnalysis(); auto &MDF = getAnalysis(); diff --git a/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp b/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp index 0644f1232f6..1a416520f97 100644 --- a/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp +++ b/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp @@ -228,6 +228,8 @@ static Function *CreateWrapper(Function *F, FunctionType *Ty) { } bool FixFunctionBitcasts::runOnModule(Module &M) { + LLVM_DEBUG(dbgs() << "********** Fix Function Bitcasts **********\n"); + Function *Main = nullptr; CallInst *CallMain = nullptr; SmallVector, 0> Uses; diff --git a/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp b/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp index bfef765c278..29678f37ae2 100644 --- a/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp +++ b/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp @@ -50,6 +50,10 @@ public: } bool runOnMachineFunction(MachineFunction &MF) override { + LLVM_DEBUG(dbgs() << "********** ISelDAGToDAG **********\n" + "********** Function: " + << MF.getName() << '\n'); + ForCodeSize = MF.getFunction().hasFnAttribute(Attribute::OptimizeForSize) || MF.getFunction().hasFnAttribute(Attribute::MinSize); Subtarget = &MF.getSubtarget(); diff --git a/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp b/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp index 258d45997fe..ad838dfb574 100644 --- a/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp +++ b/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp @@ -103,6 +103,10 @@ static void eraseDeadBBsAndChildren(const Container &MBBs) { } bool WebAssemblyLateEHPrepare::runOnMachineFunction(MachineFunction &MF) { + LLVM_DEBUG(dbgs() << "********** Late EH Prepare **********\n" + "********** Function: " + << MF.getName() << '\n'); + if (MF.getTarget().getMCAsmInfo()->getExceptionHandlingType() != ExceptionHandling::Wasm) return false; diff --git a/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp b/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp index 8755198f45b..0491f71cea7 100644 --- a/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp +++ b/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp @@ -623,6 +623,8 @@ void WebAssemblyLowerEmscriptenEHSjLj::rebuildSSA(Function &F) { } bool WebAssemblyLowerEmscriptenEHSjLj::runOnModule(Module &M) { + LLVM_DEBUG(dbgs() << "********** Lower Emscripten EH & SjLj **********\n"); + LLVMContext &C = M.getContext(); IRBuilder<> IRB(C); diff --git a/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp b/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp index 3988189ba7c..84c877cb8d0 100644 --- a/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp +++ b/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp @@ -59,6 +59,8 @@ ModulePass *llvm::createWebAssemblyLowerGlobalDtors() { } bool LowerGlobalDtors::runOnModule(Module &M) { + LLVM_DEBUG(dbgs() << "********** Lower Global Destructors **********\n"); + GlobalVariable *GV = M.getGlobalVariable("llvm.global_dtors"); if (!GV) return false; diff --git a/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp b/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp index 113ee2532bc..2c018d0785a 100644 --- a/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp +++ b/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp @@ -74,6 +74,10 @@ void OptimizeReturned::visitCallSite(CallSite CS) { } bool OptimizeReturned::runOnFunction(Function &F) { + LLVM_DEBUG(dbgs() << "********** Optimize returned Attributes **********\n" + "********** Function: " + << F.getName() << '\n'); + DT = &getAnalysis().getDomTree(); visit(F); return true; -- 2.50.1